0
我试图创建连接到IMAP服务器并处理电子邮件,因为他们进来,我把它接近的工作一个PHP守护进程,但守护程序始终抓住原有的电子邮件,它发现守护进程第一次加载。我相信这是因为我在父进程中打开IMAP连接。示例如下:用PHP System_Daemon和IMAP连接问题
if ($imapConnection=imap_open($authhost,$user,$pass) or die())
{
//start daemon
while()
{
//Grab email headers
$imapHeaders = imap_headers($imapConnection);
$count = sizeof($imapHeaders)
//loop the emails
for($i = 1; $i <= $count, $i++)
{
//process the email
//delete the email
}
System_Daemon::iterate(15);
}
}
imap_close($imapConnection);
我想远离将IMAP连接放置在循环中。我如何在循环之外保持与IMAP服务器的连接并仍然收到新电子邮件?
我居然在循环中删除的邮件我做处理它们之后。如果我要删除电子邮件,我还需要做什么? – mike 2010-06-02 15:09:14
另外,一旦守护进程启动后,它看起来并没有发现之后出现的新电子邮件。这就是为什么我认为它与循环之外的连接有关。它甚至不知道我删除了电子邮件并继续循环播放相同的电子邮件。 – mike 2010-06-02 15:13:27
好的。也许你有一个缓存问题,你可以用选项OP_SHORTCACHE尝试[imap_open](http://fr.php.net/manual/en/function.imap-open.php)? – 2010-06-02 15:21:57