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