2013-07-01 66 views
10

我正在用亞馬遜SES發送電子郵件並使用SNS處理通知。我只是意識到,我一直在處理OOTO消息,因爲我反彈,所以我想解決這個問題,所以我正確地區分了兩者。用亞馬遜SES區分反彈和OOTO

OOTO和退回通知都有"notificationType":"Bounce"

通知中必須包含一些其他信息,以便區分反彈和OOTO,但我無法在任何地方找到它。有沒有人知道這一點?

+0

這是否有什麼關係與亞馬遜SNS? – tster

+0

@tster,是的,第一句話說我正在處理SNS通知。 –

+0

您好,請問如何區分來自SES的OOTO和反彈通知。我認爲你使用SNS做某件事情是不相關的。我是SNS專家,經常檢查亞馬遜-sns標籤,我認爲這個問題與它沒有任何關係。 – tster

回答

6

提供一些其他信息來幫助他人。以下是從SES模擬器收到的郵件地址[email protected][email protected][email protected]的示例消息。下面還有與生產中的OOTO電子郵件相對應的消息,這與模擬的不同。

看起來你可以使用「bounceType」來區分OOTO和反彈,但是很容易從SES團隊中獲得清晰度。在我看來,OOTO消息不應該被視爲反彈。從模擬器

OOTO:

{ 
u'mail': { 
    u'timestamp': u'2013-09-01T18:45:10.000Z', 
    u'destination': [u'[email protected]'], 
    u'messageId': u'...', 
    u'source': u'[email protected]'}, 
u'notificationType': u'Bounce', 
u'bounce': { 
    u'bouncedRecipients': [], 
    u'bounceType': u'Undetermined', 
    u'bounceSubType': u'Undetermined', 
    u'feedbackId': u'...', 
    u'timestamp': u'2013-09-01T18:45:11.000Z'} 
} 

彈跳從模擬器:

{ 
u'mail': { 
    u'timestamp': u'2013-09-02T13:39:02.000Z', 
    u'destination': [u'[email protected]'], 
    u'messageId': u'...', 
    u'source': u'[email protected]'}, 
u'notificationType': u'Bounce', 
u'bounce': { 
    u'feedbackId': u'...', 
    u'timestamp': u'2013-09-02T13:38:57.000Z', 
    u'reportingMTA': u'dns; b232-135.smtp-out.amazonses.com', 
    u'bounceSubType': u'General', 
    u'bouncedRecipients': [{u'status': u'5.0.0', u'diagnosticCode': u"smtp; 5.1.0 - Unknown address error 550-'Requested action not taken: mailbox unavailable' (delivery attempts: 0)", u'emailAddress': u'[email protected]', u'action': u'failed'}], 
    u'bounceType': u'Permanent'} 
} 
:在生產

{ 
u'mail': { 
    u'timestamp': u'2013-09-01T17:21:20.000Z', 
    u'destination': [u'[email protected]'], 
    u'messageId': u'...', 
    u'source': u'[email protected]'}, 
u'notificationType': u'Bounce', 
u'bounce': { 
    u'bounceType': u'Permanent', 
    u'bounceSubType': u'General', 
    u'bouncedRecipients': [{u'action': u'failed', u'status': u'5.1.1', u'diagnosticCode': u'smtp; 550 5.1.1 user unknown', u'emailAddress': u'[email protected]'}], 
    u'feedbackId': u'...', 
    u'timestamp': u'2013-09-01T17:21:20.767Z', 
    u'reportingMTA': u'dsn; a8-96.smtp-out.amazonses.com'} 
} 

彈跳生產

{ 
u'mail': { 
    u'timestamp': u'2013-09-01T17:21:23.000Z', 
    u'destination': [u'[email protected]'], 
    u'source': u'[email protected]', 
    u'messageId': u'...'}, 
u'notificationType': u'Bounce', 
u'bounce': { 
    u'bounceType': u'Transient', 
    u'bounceSubType': u'General', 
    u'bouncedRecipients': [{u'emailAddress': u'[email protected]'}], 
    u'feedbackId': u'...', 
    u'timestamp': u'2013-09-01T17:21:24.000Z'} 
} 

OOTO從模擬器

抑制列表:

{u'mail': { 
    u'timestamp': u'2013-09-01T17:21:31.000Z', 
    u'destination': [u'[email protected]'], 
    u'messageId': u'...', 
    u'source': u'[email protected]'}, 
u'notificationType': u'Bounce', 
u'bounce': { 
    u'bounceType': u'Permanent', 
    u'bounceSubType': u'Suppressed', 
    u'bouncedRecipients': [{u'status': u'5.1.1', u'emailAddress': u'[email protected]', u'diagnosticCode': u'Amazon SES has suppressed sending to this address because it has a recent history of bouncing as an invalid address. For more information about how to remove an address from the suppression list, see the Amazon SES Developer Guide: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/remove-from-suppressionlist.html ', u'action': u'failed'}], 
    u'feedbackId': u'...', 
    u'timestamp': u'2013-09-01T17:21:32.620Z', 
    u'reportingMTA': u'dns; amazonses.com'} 
} 
+0

我正在研究這個以及我試圖決定是否應該使用SES。你是說模擬器給你一個不同的bounceType和subBounceType,然後在生產中使用?如果確實如此,那太可怕了。 –

+1

是的,就是這樣。 –

+0

只有永久性反彈纔會計入帳戶的官方「跳出率」 - 所有短暫或未確定的反彈都不會。我通常會建議主要以自動方式處理永久性反彈(取消訂閱或阻止電子郵件地址),並手動檢查所有其他類型以查看是否有必要執行任何操作。有時這些錯誤中會包含一些有用的信息,例如被提供商阻止或發生DMARC錯誤時。 – iquito