Skip to content

Commit aef63f8

Browse files
committed
Update from_email to use DEFAULT_FROM_EMAIL
Add unit test for DEFAULT_FROM_EMAIL setting
1 parent 8bf682a commit aef63f8

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

templated_mail/mail.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,9 @@ def send(self, to, *args, **kwargs):
7171
self.cc = kwargs.pop('cc', [])
7272
self.bcc = kwargs.pop('bcc', [])
7373
self.reply_to = kwargs.pop('reply_to', [])
74-
self.from_email = kwargs.pop('from_email', None)
74+
self.from_email = kwargs.pop(
75+
'from_email', settings.DEFAULT_FROM_EMAIL
76+
)
7577

7678
super(BaseEmailMessage, self).send(*args, **kwargs)
7779

tests/test_mail.py

+11-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from django.contrib.auth.models import AnonymousUser
77
from django.contrib.sites.shortcuts import get_current_site
88
from django.core import mail
9-
from django.test import RequestFactory, TestCase
9+
from django.test import override_settings, RequestFactory, TestCase
1010
from templated_mail.mail import BaseEmailMessage
1111

1212
from .helpers import MockMail
@@ -206,6 +206,16 @@ def test_mail_from_email_is_sent_with_valid_from_email(self):
206206
self.assertEqual(mail.outbox[0].alternatives, [])
207207
self.assertEqual(mail.outbox[0].content_subtype, 'plain')
208208

209+
@override_settings(DEFAULT_FROM_EMAIL='default@example.tld')
210+
def test_mail_without_from_email_is_sent_with_valid_from_email(self):
211+
BaseEmailMessage(
212+
request=None, template_name='text_mail.html'
213+
).send(to=self.recipients)
214+
215+
self.assertEqual(len(mail.outbox), 1)
216+
self.assertEqual(mail.outbox[0].to, self.recipients)
217+
self.assertEqual(mail.outbox[0].from_email, 'default@example.tld')
218+
209219
def test_extending_mail_with_context_mixin(self):
210220
email_message = MockMail(
211221
template_name='text_mail.html', context={'foo': 'bar'}

0 commit comments

Comments
 (0)