Электронная почта — Как читать только ограниченные электронные письма по IMAP в PHP?

Я использую IMAP для чтения почты с моего почтового сервера.

Но у меня в почтовом ящике огромное количество писем,
каждый раз, когда я пытаюсь проверить, загрузка занимает несколько минут.

Я только хочу новый, Непрочитанный, Первые 10 Только электронная почта

Для чтения электронной почты:

 // open IMAP connection
$dns = "{imap.smtp.domain:993/imap/ssl}INBOX";
$email = "[email protected]";
$password = "**********";$mbox = imap_open($dns, $email, $password);
$MC = imap_check($mbox);
if (!$mbox)
die("COULD NOT OPEN MAILBOX!\r\n");
$result = imap_fetch_overview($mbox,"1:{$MC->Nmsgs}",0);

echo "<table>";
$i=1;
foreach ($result as $overview) {
if($i == 10) break;
echo "<tr>"."<td>".$overview->msgno."</td>"."<td>".$overview->uid."</td>"."<td>".$overview->date."</td>"."<td>".$overview->udate."</td>"."<td>".$overview->from."</td>"."<td>".$overview->to."</td>"."<td>".$overview->size."</td>"."<td>".$overview->subject."</td>"."</tr>";
$i++;
}
echo "</table>";

Возвращается только 10, но это занимает огромное время.

Мне нужно простое и быстрое чтение электронной почты.

Является ли это возможным ?

Или какие-то другие решения?

0

Решение

// this will select top 10 emails
$result = imap_fetch_overview($mbox,"1:10",0);
//for recent emals
$mailbox = imap_search($mbox,'RECENT');
// implode gives you id fo the messages
messages = implode(",", $mailbox);
// list of recent emails and you can pass your message ids in string with comma seperated values like(1,2,5,6) in imap_fetch_overview as below
$messages = imap_fetch_overview($mbox,"$messages",0);
// for unseen
$mailbox = imap_search($mbox,'UNSEEN');
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]