PHP Displaying unread mail count

前端 未结 2 528
广开言路
广开言路 2020-12-05 17:11

I am using php imap class. In my box I have a lot of mail, but with this script I would retrieve only the unreaded mail. How can I do it?

if ($mbox=imap_open         


        
2条回答
  •  Happy的楠姐
    2020-12-05 17:15

    This was a tough one on Google: php imap unread

    The first result:

    • http://www.electrictoolbox.com/php-imap-unread-messages/

    There's a flag called UNSEEN which you can use to search for the unread emails. You would call the imap_search function with the UNSEEN flag like so: view sourceprint?

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

    If you need to combine this with more search flags, for example searching for messages from me@example.com, you could do this: view sourceprint?

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

    For a complete list of the available flags, refer to the criteria section of the imap_search manual page on the PHP website (www.php.net/imap_search)

    Edit I had read this originally as IMAP. #fail.

    Google: php pop3 unread

    2nd link:

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

提交回复
热议问题