Php 如何使用Zend_Mail_Protocol_Imap或Zend_Mail_Storage_Imap批量检索电子邮件
我使用Zend_Mail_Storage_Imap访问电子邮件,但使用以下代码Php 如何使用Zend_Mail_Protocol_Imap或Zend_Mail_Storage_Imap批量检索电子邮件,php,zend-mail,Php,Zend Mail,我使用Zend_Mail_Storage_Imap访问电子邮件,但使用以下代码 $storage = new Zend_Mail_Storage_Imap($imap); $allIds = $storage->getUniqueId(); // i get all key value pair of meesageid and uniqueid foreach ($allIds as $k => $v) { echo '<li>' . htmlentities
$storage = new Zend_Mail_Storage_Imap($imap);
$allIds = $storage->getUniqueId(); // i get all key value pair of meesageid and uniqueid
foreach ($allIds as $k => $v)
{
echo '<li>' . htmlentities($storage->getMessage($v)->subject) . "</li>\n";
}
我的问题是,它循环并一次收到一封电子邮件,速度很慢,就像每秒收到两封电子邮件一样,速度非常慢。我正在寻找这些邮件的批量检索方法,但找不到任何方法。在最终得到它之前有人做过吗
其中$imap是Zend_Mail_Protocol_imap的实例化和连接版本:
$imap->select;//或$imap->选择“文件夹名称”
$imap->requestAndResponse'SEARCH UNSEEN',$imap->escapeString'*'//所有未读电子邮件ID
$imap->requestAndResponse'搜索未从中查看someEmail@gmail.com“,$imap->escapeString”*”//来自的所有未读电子邮件idsomeEmail@gmail.com
$imap->requestAndResponse'从中搜索未查看的主题测试someEmail@gmail.com“,$imap->escapeString”*”//来自的所有未读电子邮件idsomeEmail@gmail.com以测试为主题
*您必须先执行上面的1,否则您将得到类似的结果:现在不允许标记错误搜索
以上所有操作都将返回一个类似于以下数组的数组:
//C:TAG3未显示的搜索
//S:*搜索321 323 362 371 377 384 386 387 388 389 416 417 418
//S:TAG3确定搜索已完成成功
//上述行的格式为RFC 1730,以显示实际发送/接收的内容。
数组大小=1
0 =>
数组大小=14
0=>字符串“搜索”长度=6
1=>字符串“321”长度=3
2=>字符串'323'长度=3
3=>字符串“362”长度=3
4=>字符串“371”长度=3
5=>字符串“377”长度=3
6=>字符串“384”长度=3
7=>字符串“386”长度=3
8=>字符串“387”长度=3
9=>字符串“388”长度=3
10=>字符串“389”长度=3
11=>字符串'416'长度=3
12=>字符串'417'长度=3
13=>字符串'418'长度=3
这对你有帮助吗?你能接受答案还是提供自己的答案?