Получить письма. Пример работы с IMAP протоколом

IMAP — протокол для доступа к электронной почте. Через этот протокол можно получать любую информацию о почте пользователя. Для работы с почтовым сервером через протокол

IMAP в php существует много функций. В примере используем
только несколько основных:
imap_open – открывает соединение с почтовым сервером по протоколу IMAP.
imap_search – осуществляет поиск писем по заданным параметрам, например, «NEW» - найдет все новые. И возвращает массив номеров писем.
imap_header – возвращает заголовки письма по его номеру.
imap_fetchbody – получает содержимое «тела» письма по его номеру.
imap_close – закрывает соединение с почтовым сервером.
imap_last_error – возвращает последнюю IMAP-ошибку.

Пример:
// логин 
$email = "username@yandex.ru"; 
// пароль 
$password = "password"; 
// соединяемся с почтовым сервером,  
// в случае ошибки выведем ее на экран 
$connect_imap = imap_open("  
{imap.yandex.ru:993/imap/ssl}INBOX",  
$email,  
$password 
) or die("Error:" . imap_last_error()); 
// проверим ящик на наличие новых писем 
$mails = imap_search($connect_imap, 'NEW'); 
// если есть новые письма 
if($mails){ 
  // перебираем все письма 
  foreach($mails as $num_mail){ 
    // получаем заголовок 
    $header = imap_header( 
$connect_imap, $num_mail 
); 
    // достаем ящик отправителя письма 
    $mail_from = $header->sender[0]->mailbox .  
"@" . $header->sender[0]->host; 
    echo "От кого: $mail_from <br/>"; 
    // получаем тему письма 
    $subject = $header->subject; 
    echo "Тема письма: $subject <br/>"; 
    // получаем содержимое письма 
    $text_mail = imap_fetchbody( 
$connect_imap, $num_mail, 1 
);  
    echo "Тело письма: $text_mail <br/>"; 
    echo "<hr/>"; 
  } 
}else{ 
  echo "Нет новых писем"; 
} 
// закрываем соединение 
imap_close($connect_imap);
Теги:
IMAP, imap_open, imap_search, imap_header, imap_fetchbody, imap_close, imap_last_error
Добавлено: 30 Марта 2018 07:02:59 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...