Отличить отскок и OOTO с SAS Amazon

Я отправляю электронные письма с SES Amazon и обрабатываю уведомления с помощью SNS. Я просто понял, что обрабатываю сообщения OOTO как отскоки, и я хотел бы исправить это, поэтому я правильно различаю их.

Оба уведомления OOTO и отказов имеют "notificationType":"Bounce".

В уведомлении должна быть какая-то другая информация, которая позволяет различать отскоки и OOTO, но я не могу найти это документально нигде. Кто-нибудь понял это?

Ответ 1

Предоставление дополнительной информации, чтобы помочь другим. Ниже приведены примеры сообщений, полученных от симулятора SES для адресов электронной почты [email protected], [email protected] и [email protected] Также ниже представлено сообщение, соответствующее адресу электронной почты OOTO, которое отличается от того, что имитируется.

Похоже, вы можете использовать "bounceType", чтобы отличать OOTO от отскоков, но было бы неплохо получить ясность от команды SES. По-моему, сообщения OOTO не должны рассматриваться как отскоки.

OOTO из симулятора:

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