2009-02-05 26 views
1

我們的客戶有時不會收到我們發送的電子郵件。這是一個巨大的損失。我如何確保他們收到電子郵件,以便如果在另一端沒有收到郵件,程序可以重新發送或做一些事情。電子郵件收據保證

+0

你爲什麼要在標籤和標題中加入「Java」? – DJClayworth 2009-02-05 18:37:28

+0

標題中的JAVA不會影響實際答案。 – Niyaz 2009-02-05 18:38:51

+0

任何解決方案都是最好的。垃圾郵件發送者使用傳遞失敗信息更有效地磨練他們的名單和垃圾郵件。結果,很多ISP拒絕任何交付失敗的跡象。 – 2009-02-05 18:40:26

回答

9

上述建議都不會在100%的時間內發揮作用。許多電子郵件客戶端將會(正確地)拒絕加載外部圖像,否定「網絡錯誤」的實用性。他們也會拒絕(或不能)返回Outlook風格的「收據」。許多郵件服務器故意(遏制垃圾郵件)或錯誤(由於錯誤配置)不會返回退回郵件。或者可能是過度激進的垃圾郵件過濾器吃掉了您的郵件,因此它到達了,但最終用戶從未看到過。另外還有一小部分郵件需要幾個小時或幾天才能到達最終用戶或反彈,並且您如何將這些遲到通知或反彈與您在4天前發送的郵件相關聯?

所以基本上,你可以捕捉一些但不是全部,不管你做什麼。我會說任何依賴於能夠確定地知道最終用戶是否收到你的郵件的設計都是致命的缺陷。

1

有沒有真正以確定電子郵件的收件箱實際到達的好辦法,你只能確認您發送它。附上一張收據,讓你知道他們什麼時候打開它?

0

Microsoft Outlook提供了類似的功能,但它基於電子郵件客戶端。我不確定其他客戶端是否支持Thunderbird。

但是,協議中沒有指定收據。

一個選項可能工作:發送一個鏈接到生成的網頁,並監視點擊該頁面。然而,這提供了它自己的問題:機密性等。

3

沒有標準的方法來知道電子郵件是否到達目的地。儘管許多電子郵件客戶端支持不同類型的收據。如果你願意,你可以使用其中的任何一種。

有一些方法可以知道用戶何時實際閱讀電子郵件。

有很多技術,例如將圖像添加到您的電子郵件,將從您的Web服務器提取。當用戶讀取電子郵件時,圖像請求會發送到您的服務器,您可以捕獲該事件。

問題是,沒有辦法知道郵件沒有達到的目的地。

5

一件事,你可以做的是建立接收任何郵件是無法投遞的一個反衝地址。使用反彈地址作爲發件人地址 - 您可能需要一個不同的回覆地址,以便正確回覆。

每天檢查退回郵箱並聯系客戶以獲取更新失敗的電子郵件地址。在故障僅僅是間歇性的情況下,您可以在採取手動聯繫之前將幾次重試自動化到失敗的地址。

這將會把你的應用程序之外的一些代碼,掃描郵箱,並保存有關聯繫人的數量等一些狀態信息,並嘗試重新發送。

取決於你如何生成的郵件,你也許能夠使這個過程更簡單:產生唯一的反彈地址爲您發送每封電子郵件。例如,您可以使用bounces + [email protected]

許多SMTP服務器將允許你在+後使用部分作爲參數傳遞給外部腳本等

的問題是,許多(碎)SMTP服務器不反彈回足夠的信息識別原始消息 - 有時,當有涉及forwardings,你甚至不拿回原來的收件人...

使用上述伎倆,您可以可靠地與關聯反彈傳入傳出消息。

2

我曾在上一個生活中的大量電子郵件系統。可交付性是我們的主要問題之一。未傳送電子郵件的最常見原因是垃圾郵件過濾器。

這裏是我們採取以確保最高的交付率的步驟:

  • 我們使用Return Path測試對於像垃圾氣味電子郵件。
  • 如果您發送大量電子郵件,則需要確保您的SMTP服務器未被列入黑名單。
  • 提醒您的用戶將您的「發件人」地址添加到他們的「安全發件人」列表中。
  • 使用收集反彈並使用它們擦除郵件列表的系統。這也可以幫助你避開黑名單。
  • 如果電子郵件很關鍵,請考慮向他們發送回執請求。這並不能保證任何事情,但它可能會給你一些關於實際產能的指標。