You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I wanted to report a bug with how the backend parses delay notifications from Postmark. Here's a trivial stack trace:
KeyError: 'ErrorCode'
File "anymail/backends/postmark.py", line 65, in parse_recipient_status
error_code = one_response["ErrorCode"]
AnymailRequestsAPIError: Invalid Postmark API response format
KeyError: 'ErrorCode'
Postmark API response 200 (OK):
{
"Message": "Message accepted, but delivery may be delayed.",
"MessageID": "38360f97-ff7f-44b2-bcd1-5ea94ff2af00",
"SubmittedAt": "2024-08-05T02:03:37.0951168Z",
"To": "[email protected]"
}
With this being the relevant code. Seems straightforward enough, but I didn't know if Anymail has encountered/fixed this in any other ESPs. If so, happy to cargo-cult that approach and submit a fix.
The text was updated successfully, but these errors were encountered:
Thanks for the report, and for including the full Postmark API response.
It looks like this is a new response format that doesn't follow Postmark's docs (which imply ErrorCode is always present, and is 0 when there is no error).
I guess Anymail's Postmark backend needs to detect this case, in the code you linked. We should probably handle it using the successful-send if error_code == 0 logic that follows, but change status="sent" to status="queued" when the Message includes "delivery may be delayed". PR definitely welcome.
Wonderful. This isn't high-priority on my end (I've only seen ~10 emails with this coding in the millions I've sent over Postmark), but I have put it on my list to try and tackle.
Thank you for anymail! I am a huge, huge fan :)
I wanted to report a bug with how the backend parses delay notifications from Postmark. Here's a trivial stack trace:
With this being the relevant code. Seems straightforward enough, but I didn't know if Anymail has encountered/fixed this in any other ESPs. If so, happy to cargo-cult that approach and submit a fix.
The text was updated successfully, but these errors were encountered: