Imap_search很慢

时间:2012-09-07 15:10:26

标签: php search imap

我使用imap_search从我的INBOX获取消息列表。我只想要从地址发送的电子邮件,让我们说" somemail@gmail.com"。

我这样做:

$headers = imap_search($box,'FROM "somemail@gmail.com"', SE_UID);

但这需要花费很多时间,大约3分钟,收件箱只有700封电子邮件(我的邮箱是GMAIL)。问题不在于服务器,因为我在localhost中安装了roundcube并快速加载电子邮件。

我能做些什么来加快速度?

1 个答案:

答案 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
  }
}