2016-09-19 20 views
1

我正在試圖製作一個程序,需要從郵件中接收電子郵件。 一切都很好,美麗。幾乎.. 不幸的是,問題是郵件是「看不見」的時候。該腳本將其狀態更改爲「已看到」。如何在電子郵件中設置「unseen」 - PHP

而我不想要這個。

我試圖這樣做:在開始時我檢查電子郵件是不可見的,最後我希望它們恢復「未見過」狀態。 但是,我只遇到了「imap_setflag_full」,它沒有這個選項。

public function pop_mails(){ 
    $message_count = imap_num_msg($this -> _inbox); 
    $date = date('Y-m-d'); 
    mkdir("./$date", 0777); 

    for($i=1; $i<=$message_count; $i++){ 
     $overview = imap_fetch_overview($this->_inbox, $i); 

      $seen = $overview[0] -> seen; 
      $name = imap_utf8($overview[0]->subject); 
      $named = strtr($name, ":", "."); 
      $headers = imap_fetchheader($this->_inbox, $i, FT_PREFETCHTEXT); 

      $body = imap_body($this->_inbox, $i); 
      file_put_contents($date.'/'.$named. '.eml', $headers . "\n" . $body); 

      if($seen =="0") { 
       imap_setflag_full($this->_inbox, $seen, "\\Seen"); 
      } 
    } 
} 

你能幫幫我嗎?

+0

你說得對。 'FT_PEEK'是好方法:) – Mafika

回答

0

你只需要清除\\看到國旗在你的程序結束:

$狀態= imap_clearflag_full($本 - > _收件箱 「$ EMAIL_NUMBER」, 「\\看」);

相關問題