我正在嘗試訪問Gmail帳戶以在PHP應用程序中導入已發送和已接收的郵件。 每次導入後,我都會存儲當前日期,以便每次都不導入所有郵件。imap_search SINCE標準從不返回結果
// $this->dateLastSynchro is a DateTime object
$searchCriteria = 'NEW UNDELETED SINCE "' . $this->dateLastSynchro->format('r') . '" ';
$return = imap_search($this->mailBoxHandle, $searchCriteria);
第一個導入工作正常(當我使用"ALL UNDELETED"
),但是當我使用,因爲我從來沒有效果(即使我已發送或接收新的電子郵件)。
我已經嘗試過使用格式Y-m-d
作爲日期,但是當我這樣做時它有一個PHP通知(它表示類似無法識別的標準)。
感謝您的幫助。
編輯
解決方案由Max建議工作正常,但因爲它是一個評論,我不能接受的答案。
也許你應該存儲你得到的最後一個UID。隨着郵件添加到郵箱,UID保證會增加。 – Max
@Max:我無法在UID上找到搜索條件。我是否必須檢索所有郵件,通過它們循環並在'UID> ref UID'時開始導入? – Elorfin
更改爲解答。我不確定你的庫,但協議允許UID SEARCH UID [uid]:*搜索從UID到郵箱末尾的郵件。 – Max