diff --git a/anymail/webhooks/mandrill.py b/anymail/webhooks/mandrill.py index 27cf485..0cd3685 100644 --- a/anymail/webhooks/mandrill.py +++ b/anymail/webhooks/mandrill.py @@ -81,7 +81,7 @@ class MandrillTrackingWebhookView(MandrillBaseWebhookView): 'send': EventType.SENT, 'deferral': EventType.DEFERRED, 'hard_bounce': EventType.BOUNCED, - 'soft_bounce': EventType.DEFERRED, + 'soft_bounce': EventType.BOUNCED, 'open': EventType.OPENED, 'click': EventType.CLICKED, 'spam': EventType.COMPLAINED, diff --git a/anymail/webhooks/postmark.py b/anymail/webhooks/postmark.py index 466bdfc..a63c181 100644 --- a/anymail/webhooks/postmark.py +++ b/anymail/webhooks/postmark.py @@ -36,7 +36,7 @@ class PostmarkTrackingWebhookView(PostmarkBaseWebhookView): 'SpamNotification': (EventType.COMPLAINED, RejectReason.SPAM), 'OpenRelayTest': (EventType.DEFERRED, None), # Receiving MTA is testing Postmark 'Unknown': (EventType.UNKNOWN, None), - 'SoftBounce': (EventType.DEFERRED, RejectReason.BOUNCED), # until HardBounce later + 'SoftBounce': (EventType.BOUNCED, RejectReason.BOUNCED), # might also receive HardBounce later 'VirusNotification': (EventType.BOUNCED, RejectReason.OTHER), 'ChallengeVerification': (EventType.AUTORESPONDED, None), 'BadEmailAddress': (EventType.REJECTED, RejectReason.INVALID), @@ -48,8 +48,8 @@ class PostmarkTrackingWebhookView(PostmarkBaseWebhookView): 'InboundError': (EventType.INBOUND_FAILED, None), 'DMARCPolicy': (EventType.REJECTED, RejectReason.BLOCKED), 'TemplateRenderingFailed': (EventType.FAILED, None), - # Postmark does not report DELIVERED - # Postmark does not report CLICKED (because it doesn't implement click-tracking) + # DELIVERED doesn't have a Type field; detected separately below + # CLICKED doesn't have a Postmark webhook (yet?) # OPENED doesn't have a Type field; detected separately below # INBOUND doesn't have a Type field; should come in through different webhook }