2014-03-14 61 views
0

我建立一個小的webmail系統,並在「處置通知到」頭工作,在送達回執發送給誰問吧關於收到的郵件。PHP IMAP郵件「處置 - 通知 - 到」頭 - 馬克作爲發送

的問題是:

  • 如何只有一次派呢?我怎麼知道它已經發送,並且不再詢問/發送?

任何想法?

就像一個標誌,像「看不見的」,但「傳遞的回執 - 發送」,那怎麼辦?

我必須使用一個數據庫是什麼?別無退路?

+0

幾乎沒有客戶端將使用「處置通知,要」,大多數用戶禁用它,大多數網絡郵箱只是剝離它,許多ISP的剝離它。另一郵件功能被垃圾郵件發送者破壞 – 2014-03-14 02:22:18

+0

一直在做一些測試,它可以在部落和Outlook 2013上運行。您的建議是什麼? – pbs

+0

目前,「打開郵件」的行業標準是在具有跟蹤ID的服務器上託管的「隱形」圖像。而且這會失敗很多時間。有沒有可靠的方式來確定電子郵件是否被打開 – 2014-03-14 02:30:13

回答

-1

使用的標誌。爲了找到您要發送消息:

a uid search header "disposition-notification-to" "@" not keyword sentdnt 

然後當你發送:

b uid store 321312 +flags.silent sentdnt 

在一個理想的世界裏,你將與做其他客戶協調標誌名稱。

+0

我想我明白了,可是做什麼與PHP,我想我已經嘗試過addding定製標誌,它didin't工作.. – pbs

+0

那麼,如果你不能使用標誌,你必須使用數據庫。 – arnt

1

RFC 3503有關使用$MdnSent關鍵字作爲這樣的一個相當標準的會談。如果可能的話,不要發明自定義關鍵字名稱。

至於如何通過PHP設置上的消息,這些關鍵字,您可能需要閱讀PHP的IMAP庫文檔。有一個功能可以將這些關鍵字/標誌存儲在服務器上。

+0

謝謝!我想這樣做,但沒有成功: $狀態= imap_setflag_full($這個 - >連接,$這 - > messageNumber, '\\ $ MdnSent'); ,看起來像我使用Courier MTA,我發現這個: http://www.courier-mta.org/imap/README.imapkeywords.html 自定義標誌/關鍵字被寫在一個文件中.. – pbs

+0

I我不確定是什麼讓你認爲添加反斜槓是一個好主意。 –

+0

我嘗試幾種方法,用反斜槓「\\看」,並沒有反斜線..他們沒有工作.. – pbs