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
|
message.mandrill_response = None
|
||||||
|
|
||||||
if not self.fail_silently:
|
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(
|
raise MandrillAPIError(
|
||||||
status_code=response.status_code,
|
status_code=response.status_code,
|
||||||
response=response,
|
response=response,
|
||||||
log_message="Failed to send a message to %s, from %s" %
|
log_message="Failed to send a message to %s%s" %
|
||||||
(msg_dict['to'], msg_dict['from_email']))
|
(msg_dict['to'], from_message))
|
||||||
return False
|
return False
|
||||||
|
|
||||||
# add the response from mandrill to the EmailMessage so callers can inspect it
|
# add the response from mandrill to the EmailMessage so callers can inspect it
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
from django.core import mail
|
from django.core import mail
|
||||||
|
|
||||||
|
from djrill import MandrillAPIError
|
||||||
from djrill.tests.mock_backend import DjrillBackendMockAPITestCase
|
from djrill.tests.mock_backend import DjrillBackendMockAPITestCase
|
||||||
|
|
||||||
|
|
||||||
@@ -39,6 +40,16 @@ class DjrillMandrillSendTemplateTests(DjrillBackendMockAPITestCase):
|
|||||||
self.assertFalse('from_email' in data['message'])
|
self.assertFalse('from_email' in data['message'])
|
||||||
self.assertFalse('from_name' 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):
|
def test_send_template_without_subject_field(self):
|
||||||
msg = mail.EmailMessage('Subject', 'Text Body',
|
msg = mail.EmailMessage('Subject', 'Text Body',
|
||||||
'from@example.com', ['to@example.com'])
|
'from@example.com', ['to@example.com'])
|
||||||
|
|||||||
Reference in New Issue
Block a user