我正在使用imap_search从我的INBOX中获取消息列表。我只想要从地址发送的电子邮件,比如"somemail@gmail.com".
我做的像:
$headers = imap_search($box,'FROM "somemail@gmail.com"', SE_UID);
但这需要很多时间,大约3分钟,收件箱里只有700封电子邮件(我的收件箱是GMAIL)。问题不是来自服务器,因为我在本地主机中安装了roundcube,并快速加载电子邮件。
我能做些什么让它更快?
在过去,这种方法的工作速度比imap_search快:
$stream = imap_open($mailbox,$username,$password);
//imap_num_msg returns the number of messages in the current mailbox, as an integer, so ..
$total_messages = imap_num_msg($stream);
for ($message_number = 0; $message_number < $total_messages; $message_number++)
{
//get header
$header = imap_header($stream, $message_number);
if ($header === NULL)
continue;
//check from
if($header->from == 'somemail@gmail.com')
{
// you found one so do something
}
}