为什么PHP函数imap_search()很慢?

时间:2013-10-03 13:40:23

标签: php performance search imap webmail

我正在创建个人网络邮件,但我遇到了一些麻烦 imap_search()

我使用此代码,但函数 imap_search()不会停止:

$criteria = 'SINCE "'.date('d M Y', strtotime('- 1 days')).'"';
$uids = imap_search($mailbox, $criteria, SE_UID, 'UTF-8');

我尝试过使用一个小邮箱,但它工作缓慢但工作正常,但它确实带有一个大邮箱。 因此,我尝试只使用相同的邮箱和' SUBJECT' 搜索来获取其中一封电子邮件,但它确实无法正常工作。 根据这些经验,我不认为问题是我的 $ criteria ,而我的 imap_open()也能成功运作。

最大的邮箱总共有9000封电子邮件,当天有63封。最小的一共有20封电子邮件,我成功加载了所有这些邮件。

我已尝试过不同的服务器,但行为相同。

如果有人有想法,那将非常有帮助。

感谢。

2 个答案:

答案 0 :(得分:0)

imap_search()的PHP文档页面中的示例可能有误。我刚刚针对Gmail尝试了以下命令,但它根本不起作用:

0003 UID SEARCH SINCE "8 August 2013"

...这是有道理的,因为RFC3501以2013年8月8日的格式定义日期,事实上以下工作:

0004 UID SEARCH SINCE "8-Aug-2013"

因此,请尝试格式化您的日期,看看它是如何进行的。

文档页面中的第一条评论也证实了上述内容。

答案 1 :(得分:0)

试试你的服务器并使用这个$ mbox = imap_open('{localhost:143 / novalidate-cert} INBOX','your_user_name','your_password');