我正在试图弄清楚如何使用imap和php获取最新的3封电子邮件(SEEN和UNSEEN).它需要具有资源效率,因为邮箱内部有1000个电子邮件.我认为获取所有标题可能需要太多的资源.
我只需要发件人,主题和日期......
任何的想法?感谢任何syggestion/help/explaination /提示......
小智 7
我这样做了:
$mbox = imap_open("{imap.myconnection.com:993/imap/ssl}INBOX", "username", "password");
// get information about the current mailbox (INBOX in this case)
$mboxCheck = imap_check($mbox);
// get the total amount of messages
$totalMessages = $mboxCheck->Nmsgs;
// select how many messages you want to see
$showMessages = 5;
// get those messages
$result = array_reverse(imap_fetch_overview($mbox,($totalMessages-$showMessages+1).":".$totalMessages));
// iterate trough those messages
foreach ($result as $mail) {
print_r($mail);
// if you want the mail body as well, do it like that. Note: the '1.1' is the section, if a email is a multi-part message in MIME format, you'll get plain text with 1.1
$mailBody = imap_fetchbody($mbox, $mail->msgno, '1.1');
// but if the email is not a multi-part message, you get the plain text in '1'
if(trim($mailBody)=="") {
$mailBody = imap_fetchbody($mbox, $mail->msgno, '1');
}
// just an example output to view it - this fit for me very nice
echo nl2br(htmlentities(quoted_printable_decode($mailBody)));
}
imap_close($mbox);
Run Code Online (Sandbox Code Playgroud)
PHP-Ref IMAP:http://php.net/manual/en/ref.imap.php
关心多米尼克
关于什么
imap_search($res, 'RECENT');
Run Code Online (Sandbox Code Playgroud)
?
http://php.net/manual/en/function.imap-search.php