2011-05-11 60 views
7

我試圖使用Java AWS SDK發送帶有Amazon SES的電子郵件,它工作正常。我希望能夠在稍後檢查交付是否成功。如果最終的郵件服務器接受郵件發送,我將定義它成功。亞馬遜SimpleEmail:如何檢查電子郵件是否已交付?

我看到,當您發送電子郵件,你可以得到一個唯一標識您的電子郵件MESSAGEID:

SendEmailRequest request = new SendEmailRequest(from, destination, message); 
    SendEmailResult result = service.sendEmail(request); 
    String messageId = result.getMessageId(); 

但是我看到你只能得到彙總統計,例如與SendDataPoint(代表發送統計數據。每個SendDataPoint包含15分鐘發送活動的統計數據)。

我沒有使用SES發送批量電子郵件,但個性化的通知量很低,我希望檢查每條消息。

我忽略了什麼?是否可以使用SES進行這種檢查?

回答

4

亞馬遜確實提供了一種機制讓您捕捉反彈,它爲您提供了對比驗證。

您可以創建一個郵箱來接收退回通知,然後告訴SES在那裏轉發退回通知。例如:

request.setReturnPath("[email protected]"); 

然後,您可以編寫代碼來定期檢查該郵箱,並解析目標電子郵件地址的郵件。

Amazon提供的,他們如何處理反彈&抱怨這裏的簡要說明:

http://aws.amazon.com/ses/faqs/#37

不過,如果你想檢查郵件避免垃圾郵件過濾器或由最終用戶閱讀,超出了SES的範圍(儘管他們努力確保產能)。

+0

謝謝卡特頁,這是一個遺憾,因爲他們攔截反彈,所以理論上他們可以做額外的一步。我知道,一旦電子郵件發送到遠程郵件服務器,我們無法知道在內部完成了什麼。我可以採取的另一種方法是檢查用戶是否點擊了他們應該查看的文檔的鏈接。我認爲現在我只是將彈回發送到我的郵箱,因爲它只是低音量,專注於完成應用程序的其他部分。再次感謝你! – stivlo 2011-05-12 03:15:11

+1

答案如下:不,亞馬遜SES不允許電子郵件傳送檢測? – 2014-03-27 17:27:47

3

我們使用Bouncely.com。您只需將ReturnPath設置爲[email protected],它會跟蹤所有反彈和垃圾郵件報告。它也有一個API,允許我們自動取消訂閱用戶。

+1

**更新:**似乎此服務已關閉。 – 2017-08-20 10:02:05

0

使用亞馬遜簡單通知服務並定義HTTP端點以在電子郵件退回時接收通知。完美的作品。