我使用imap_search从我的INBOX获取消息列表。我只想要从地址发送的电子邮件,让我们说" somemail@gmail.com"。
我这样做:
$headers = imap_search($box,'FROM "somemail@gmail.com"', SE_UID);
但这需要花费很多时间,大约3分钟,收件箱只有700封电子邮件(我的邮箱是GMAIL)。问题不在于服务器,因为我在localhost中安装了roundcube并快速加载电子邮件。
我能做些什么来加快速度?
答案 0 :(得分:0)
过去,这种方法对我来说比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
}
}