2

有没有办法使用 imap_search 函数在 IMAP 服务器上搜索邮件。根据 php 手册,imap_search 只允许有限数量的搜索选项,并且通过 UID 搜索不在它们之间: http ://us.php.net/manual/en/function.imap-search.php

那么,有没有办法根据 UID(高于提供的 UID)获取消息。自 IMAP4 协议修订版(我认为自 2003 年以来)以来,这应该得到支持。

4

1 回答 1

0

我相信你已经经过广泛的搜索,最终来到了这里。让我们面对它,这是不可能的;但该功能可能有解决方法。

也许你可以使用类似这样的代码:

$imap_stream = imap_open($mailbox, $username, $password);
$msg_no = 1212; //lets say momentarily
while(imap_fetchheader($imap_stream, $msg_no)){
    //do some processing
    $msg_no++;
}// loop will continue till there is no more of newer messages

请注意,这可能会导致最大执行时间,因此您可以使用 for 循环来执行具有特定迭代次数的工作。

$imap_stream = imap_open($mailbox, $username, $password);
$msg_no = 1212; //lets say
for($i=0;$i<=50;$i++){
if(imap_fetchheader($imap_stream, $msg_no)){
    //do some processing
}
$msg_no++;
} // this will go for 50 times
于 2012-04-16T11:34:59.063 回答