mirror of
https://github.com/pacnpal/django-anymail.git
synced 2025-12-20 11:51:05 -05:00
if missing 'from_email', then 'log_message' will fail to build
This commit is contained in:
@@ -112,11 +112,15 @@ class DjrillBackend(BaseEmailBackend):
|
||||
message.mandrill_response = None
|
||||
|
||||
if not self.fail_silently:
|
||||
from_email = msg_dict.get('from_email', None)
|
||||
from_message = ""
|
||||
if from_email:
|
||||
from_message = ", from %s" % from_email
|
||||
raise MandrillAPIError(
|
||||
status_code=response.status_code,
|
||||
response=response,
|
||||
log_message="Failed to send a message to %s, from %s" %
|
||||
(msg_dict['to'], msg_dict['from_email']))
|
||||
log_message="Failed to send a message to %s%s" %
|
||||
(msg_dict['to'], from_message))
|
||||
return False
|
||||
|
||||
# add the response from mandrill to the EmailMessage so callers can inspect it
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
from django.core import mail
|
||||
|
||||
from djrill import MandrillAPIError
|
||||
from djrill.tests.mock_backend import DjrillBackendMockAPITestCase
|
||||
|
||||
|
||||
@@ -39,6 +40,16 @@ class DjrillMandrillSendTemplateTests(DjrillBackendMockAPITestCase):
|
||||
self.assertFalse('from_email' in data['message'])
|
||||
self.assertFalse('from_name' in data['message'])
|
||||
|
||||
def test_send_template_without_from_field_api_failure(self):
|
||||
self.mock_post.return_value = self.MockResponse(status_code=400)
|
||||
msg = mail.EmailMessage('Subject', 'Text Body',
|
||||
'from@example.com', ['to@example.com'])
|
||||
msg.template_name = "PERSONALIZED_SPECIALS"
|
||||
msg.use_template_from = True
|
||||
with self.assertRaises(MandrillAPIError):
|
||||
msg.send()
|
||||
self.assertEqual(sent, 0)
|
||||
|
||||
def test_send_template_without_subject_field(self):
|
||||
msg = mail.EmailMessage('Subject', 'Text Body',
|
||||
'from@example.com', ['to@example.com'])
|
||||
|
||||
Reference in New Issue
Block a user