Use specific ESP name in error messages.

Change  (e.g.,) "ESP API response 400"
to "Mailgun API response 400".
This commit is contained in:
medmunds
2017-01-22 10:21:19 -08:00
parent 79288603fb
commit 56d2b53c2b
14 changed files with 54 additions and 35 deletions

View File

@@ -54,11 +54,13 @@ class EmailBackend(AnymailRequestsBackend):
sendgrid_message = parsed_response["message"]
except (KeyError, TypeError):
raise AnymailRequestsAPIError("Invalid SendGrid API response format",
email_message=message, payload=payload, response=response)
email_message=message, payload=payload, response=response,
backend=self)
if sendgrid_message != "success":
errors = parsed_response.get("errors", [])
raise AnymailRequestsAPIError("SendGrid send failed: '%s'" % "; ".join(errors),
email_message=message, payload=payload, response=response)
email_message=message, payload=payload, response=response,
backend=self)
# Simulate a per-recipient status of "queued":
status = AnymailRecipientStatus(message_id=payload.message_id, status="queued")
return {recipient.email: status for recipient in payload.all_recipients}