2013-07-01 17 views
10

Ich sende E-Mails mit Amazon SES und Verarbeitung von Benachrichtigungen mit SNS. Ich habe gerade gemerkt, dass ich OOTO-Nachrichten als Bounces verarbeitet habe, und ich möchte das beheben, damit ich die beiden richtig unterscheiden kann.Unterscheiden Bounce und OOTO mit Amazon SES

Sowohl OOTO als auch Bounce-Benachrichtigungen haben "notificationType":"Bounce".

In der Benachrichtigung müssen einige andere Informationen enthalten sein, mit denen Sie Bounces und OOTOs unterscheiden können. Dies kann jedoch nirgendwo dokumentiert werden. Hat das jemand herausgefunden?

+0

dies alles Hat mit Amazon-SNS zu tun? – tster

+0

@tster, ja, der erste Satz sagt, dass ich mit SNS Benachrichtigungen bearbeite. –

+0

Sie fragen sich, wie Sie den Unterschied zwischen einer OOTO und einer Bounce-Benachrichtigung von SES feststellen können. Die Tatsache, dass Sie SNS verwenden, um etwas zu tun, ist irrelevant, denke ich. Ich bin SNS-Experte und überprüfe oft das amazon-sns-Tag, und ich denke, dass diese Frage keine Relevanz hat. – tster

Antwort

6

Bereitstellung einiger zusätzlicher Informationen, um anderen zu helfen. Im Folgenden finden Sie Beispielnachrichten, die vom SES-Simulator für die E-Mail-Adressen [email protected], [email protected] und [email protected] empfangen wurden. Auch unten ist eine Nachricht, die einer OOTO-E-Mail in der Produktion entspricht, die sich von der Simulation unterscheidet.

Sieht so aus, als ob Sie "bounceType" verwenden können, um OOTO von Bounces zu unterscheiden, aber es wäre schön, wenn Sie vom SES-Team Klarheit bekommen. Meiner Meinung nach sollten OOTO-Nachrichten nicht als Bounces behandelt werden.

OOTO vom Simulator:

{ 
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 in Produktion:

{ 
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'} 
} 

Bounce vom Simulator:

{ 
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'} 
} 

Bounce in Produktion:

{ 
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'} 
} 

Unterdrückung Liste von Simulator:

{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

Ich untersuche dies ebenso wie ich versuche zu entscheiden, ob wir SES verwenden sollen. Willst du damit sagen, dass der Simulator dir einen anderen BounceType und SubBounceType gibt als in der Produktion? Das ist schrecklich, wenn das tatsächlich der Fall ist. –

+1

Ja, das ist der Fall. –

+0

Nur permanente Bounces zählen zur offiziellen "Absprungrate" eines Accounts - alle vorübergehenden oder unbestimmten Bounces nicht. Ich würde generell empfehlen, permanente Bounces hauptsächlich automatisiert zu verarbeiten (E-Mail-Adresse abmelden oder blockieren) und manuell alle anderen Typen zu überprüfen, um zu sehen, ob eine Aktion überhaupt notwendig ist. Manchmal sind einige nützliche Informationen in diesen Fehlern enthalten, wie beispielsweise die Blockierung durch einen Provider oder wenn ein DMARC-Fehler auftritt. – iquito

Verwandte Themen