Учебник РНР
Назад Вперёд

imap_open

(PHP 3, PHP 4)

imap_open - открывает IMAP-поток в mailbox.

Описание

int imap_open (string mailbox, string username, string password [, int flags])

Возвращает IMAP-поток при успехе и FALSE при ошибке. Эта функция может использоваться также для открытия потоков к POP3 и NNTP серверам, но некоторые функции и их возможности доступны только на IMAP-серверах.

Имя mailbox'а состоит из серверной части и пути mailbox'а на этом сервере. Специальное имя INBOX предназначено для персонального mailbox'а текущего пользователя. Серверная часть, заключённая в '{' и '}', состоит из имени сервера или ip-адреса, необязательного номера порта (с префиксом ':') и необязательной спецификации протокола (с префиксом '/'). Серверная часть является обязательной во всех параметрах mailbox'а. Имена почтовых ящиков, содержащие интернациональные символы за пределами печатаемых ASCII, должны быть кодированы с помощью imap_utf7_encode() .

Опции это битовая маска с одним или более значений:

  • OP_READONLY - открывть mailbox только для чтения

  • OP_ANONYMOUS - не использовать или не обновлять .newsrc на новый (только в NNTP)

  • OP_HALFOPEN - для имён IMAP и NNTP, открывает соединение, но не открывает mailbox

  • CL_EXPUNGE - очищает mailbox автоматически после его закрытия

Для соединения с IMAP-сервером, запущенным на порту 143 на локальной машине, сделайте так:

$mbox = imap_open ("{localhost:143}INBOX", "user_id", "password");

Для соединения с POP3-сервером на порту 110 а локальном сервере используйте:

$mbox = imap_open ("{localhost:110/pop3}INBOX", "user_id", "password");

Для соединения с SSL IMAP или POP3-сервером добавьте /ssl после спецификации протокола:

$mbox = imap_open ("{localhost:993/imap/ssl}INBOX", "user_id", "password");

Для соединения с SSL IMAP или POP3-сервером с self-signed сертификатом добавьте
/ssl/novalidate-cert после спецификации протокола:

$mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}", "user_id", "password");

Для соединения с NNTP-сервером на порту 119 на локальном сервере используйте:

$nntp = imap_open ("{localhost:119/nntp}comp.test", "", "");

Для соединения с удалённым сервером замените "localhost" на имя или IP-адрес сервера, с которым вы хотите соединиться.

Пример 1. imap_open()
$mbox = imap_open ("{your.imap.host:143}", "username", "password"); echo "<p><h1>Mailboxes</h1>\n"; $folders = imap_listmailbox ($mbox, "{your.imap.host:143}", "*"); if ($folders == false) { echo "Call failed<br>\n"; } else { while (list ($key, $val) = each ($folders)) { echo $val."<br>\n"; } } echo "<p><h1>Headers in INBOX</h1>\n"; $headers = imap_headers ($mbox); if ($headers == false) { echo "Call failed<br>\n"; } else { while (list ($key,$val) = each ($headers)) { echo $val."<br>\n"; } } imap_close($mbox);

Назад Оглавление Вперёд
imap_num_recent Вверх imap_ping