top

Описание функции imap-open



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);


corner
My pencil ;)
Главная     Сервисы     Портфолио     Проги     Видео     Контакты     Ссылки     Текст