2010-10-26 120 views
2

我正在使用這些庫來創建我正在創建的電子郵件應用程序。如何使用zend_mail和zend_mail_storage_imap將電子郵件移動到其他文件夾?

$storage = new Zend_Mail_Storage_Imap($imap); 

if (strpos($storage->getMessage($i),'chocolate') !== FALSE) 

{ 
     //Move to chocolate folder here 
} 

另外,有沒有辦法讓這個發件人的電子郵件從現在開始自動進入巧克力文件夾? ...類似於您如何在gmail中創建標籤,並且來自該發件人的所有郵件將來都會自動進入該文件夾。

我還是新來的zend,我將再次重新審視文檔。

回答

2

這有點棘手是真的。

$storage = new Zend_Mail_Storage_Imap($imap); 
if (strpos($storage->getMessage($i),'chocolate') !== FALSE){ 
    //Move to chocolate folder here 
    $messageUniqueId = $storage->getUniqueId($i); 
    $currentMessageId = $storage->getNumberByUniqueId($messageUniqueId); 
    $storage->moveMessage($messageUniqueId, 'chocolate'); 
} 
+0

供參考:如果您直接在moveMessage中使用$ i,它可能會有效。但是,如果第二條消息應該被刪除,並且$ i來自循環,那麼該id很可能是錯誤的。因此,您必須使用您使用Elzo代碼獲得的當前ID。 – robsch 2014-03-27 11:06:45

+0

Barney刪除了我的編輯:我認爲最後一行應該是$ storage-> moveMessage($ currentMessageId,'chocolate');我只是用獨特的身份證和gmail做了什麼沒有工作。查看Zend_Mail_Storage_Imap-> getNumberByUniqueId($ id)的評論。或者是$ currentMessageId只是爲了裝飾?假設Zend 1.12。 – robsch 2014-03-27 12:48:08

相關問題