2013-01-11 40 views
0

我有電子郵件與車輛位置進來,我想在我的數據庫中記錄位置。我想出瞭如何獲取電子郵件並找到部分內容。現在我需要弄清楚如何僅搜索尚未閱讀電子郵件的內容,並在完成後將其標記爲已讀。如何只搜索未讀電子郵件並將其標記爲

$hostname = '{imap.gmail.com:993/imap/ssl}INBOX'; 
$username = 'myusername'; 
$password = 'mypassword'; 

$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' .  imap_last_error()); 
$emails = imap_search($inbox,'FROM "[email protected]"'); 

if($emails) { 
    $output = ''; 
    rsort($emails); 
    foreach($emails as $email_number) { 
    $overview = imap_fetch_overview($inbox,$email_number,0); 
    $message = imap_fetchbody($inbox,$email_number,1); 

    if (preg_match('/\bAddress\s*:\s*(.+?)\s*$/mi', $message, $match)){ 
     echo $match[1] . "<br>"; 
    } 
    } 
    echo $output; 
} 

imap_close($inbox); 
+0

請更詳細地描述問題是你到目前爲止的代碼是什麼。 –

+0

通過電子郵箱中的所有電子郵件搜索當前代碼。我只需要搜索未讀郵件。 – user1916897

回答

3

您可以在關鍵字UNSEEN只需添加到搜索條件在imap_search()這樣的:

$emails = imap_search($inbox, 'FROM "[email protected]" UNSEEN'); 
+0

謝謝。這工作。 – user1916897

相關問題