Imap_search very slow


Imap_search very slow

我正在使用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
  }
}