我已經連接到IMAP電子郵件帳戶的功能(目前使用Gmail測試)來獲取是UNSEEN電子郵件。獲取電子郵件通過他們我環路,做imap_fetch_overview()
和imap_fetchbody()
每個電子郵件之後。我可以從電子郵件設置停止imap_search爲READ
這個函數運行所有已搜索獲取設置在收件箱中來讀取郵件後。
反正有沒有阻止這種情況發生?理想情況下,我希望郵件保持UNSEEN。
這裏是我的功能
function build_email_data(){
$this->connect();
/* grab emails */
$emails = imap_search($this->inbox,'UNSEEN');
/* if emails are returned, cycle through each... */
if($emails) {
/* put the newest emails on top */
rsort($emails);
$data = array();
/* for every email... */
foreach($emails as $email_number) {
/* get information specific to this email */
$overview = imap_fetch_overview($this->inbox,$email_number,0);
$message = imap_fetchbody($this->inbox,$email_number,1);
$_data['subject'] = $overview[0]->subject;
$_data['from'] = $overview[0]->from;
$_data['body'] = $message;
$_data['owner_id'] = 1;
$_data['email_number'] = $email_number;
$_data['folder_id'] = 1;
$_data['created'] = timestamp_to_mysqldatetime();
$_data['updated'] = timestamp_to_mysqldatetime();
$_data['email_date'] = timestamp_to_mysqldatetime(strtotime($overview[0]->date));
$data[] = $_data;
}
$this->disconnect();
return $data;
}
}
再次,PEEK設置使用最近的而不是看到的標誌。除非你的服務器不符合rfc .... – Max
不知道rfc complience,但從php.net - 「FT_PEEK - 不要設置\已標記的國旗,如果尚未設置」 - http://www.php.net/手動/ EN/function.imap-body.php – iamjonesy