PHP Отображение непрочитанного количества писем

Я использую класс php imap. В моей коробке у меня много писем, но с этим скриптом я бы получил только непрочитанную почту. Как мне это сделать?

if ($mbox=imap_open( "{" . $mailserver . ":" . $port . "}INBOX", $user, $pass )) { echo "Connected\n"; } else { exit ("Can't connect: " . imap_last_error() ."\n"); echo "FAIL!\n"; }; if ($hdr = imap_check($mbox)) { $msgCount = $hdr->Nmsgs; echo "Ci sono ".$msgCount." mail"; } else { echo "Failed to get mail"; } 

Если я сделаю

 $overview=imap_fetch_overview($mbox,"1:$msgCount",0); 

загрузка скрипта до бесконечности.

Решение imap_search UNSEEN не подходит, потому что pop3 не использует этот флаг. Так как я могу сделать ?????? Большое спасибо.

Solutions Collecting From Web of "PHP Отображение непрочитанного количества писем"

Существует два способа:

1. Прохождение через сообщения

 $count = imap_num_msg($connection); for($msgno = 1; $msgno <= $count; $msgno++) { $headers = imap_headerinfo($connection, $msgno); if($headers->Unseen == 'U') { ... do something ... } } 

2. Использование imap_search

Есть флаг под названием UNSEEN, который вы можете использовать для поиска непрочитанных писем. Вы бы назвали функцию imap_search флагом UNSEEN следующим образом:

 $result = imap_search($connection, 'UNSEEN'); 

Если вам нужно объединить это с большим количеством флагов поиска, например, для поиска сообщений с me@example.com, вы можете сделать это:

 $result = imap_search($connection, 'UNSEEN FROM "me@example.com"'); 

Полный список доступных флагов см. В разделе критериев страницы руководства imap_search на веб-сайте PHP (www.php.net/imap_search).

Источник: http://www.electrictoolbox.com/php-imap-unread-messages/

Это было сложно для Google: php imap unread

Первый результат:

Есть флаг под названием UNSEEN, который вы можете использовать для поиска непрочитанных писем. Вы бы назвали функцию imap_search флагом UNSEEN следующим образом: view sourceprint?

  $result = imap_search($connection, 'UNSEEN'); 

Если вам нужно объединить это с большим количеством флагов поиска, например, для поиска сообщений с me@example.com, вы можете сделать это: просмотреть исходный текст?

  $result = imap_search($connection, 'UNSEEN FROM "me@example.com"'); 

Полный список доступных флагов см. В разделе критериев страницы руководства imap_search на веб-сайте PHP (www.php.net/imap_search).

Редактировать Я прочитал это первоначально как IMAP. #потерпеть неудачу.

Google: php pop3 unread

2-я ссылка:

  function CountUnreadMails($host, $login, $passwd) { $mbox = imap_open("{{$host}/pop3:110}", $login, $passwd); $count = 0; if (!$mbox) { echo "Error"; } else { $headers = imap_headers($mbox); foreach ($headers as $mail) { $flags = substr($mail, 0, 4); $isunr = (strpos($flags, "U") !== false); if ($isunr) $count++; } } imap_close($mbox); return $count; }