|
@@ -89,6 +89,21 @@ class MailTests(HeadersCheckMixin, SimpleTestCase):
|
|
|
self.assertEqual(message['Cc'], 'cc@example.com, cc.other@example.com')
|
|
|
self.assertEqual(email.recipients(), ['to@example.com', 'other@example.com', 'cc@example.com', 'cc.other@example.com', 'bcc@example.com'])
|
|
|
|
|
|
+ def test_reply_to(self):
|
|
|
+ email = EmailMessage(
|
|
|
+ 'Subject', 'Content', 'from@example.com', ['to@example.com'],
|
|
|
+ reply_to=['reply_to@example.com'],
|
|
|
+ )
|
|
|
+ message = email.message()
|
|
|
+ self.assertEqual(message['Reply-To'], 'reply_to@example.com')
|
|
|
+
|
|
|
+ email = EmailMessage(
|
|
|
+ 'Subject', 'Content', 'from@example.com', ['to@example.com'],
|
|
|
+ reply_to=['reply_to1@example.com', 'reply_to2@example.com']
|
|
|
+ )
|
|
|
+ message = email.message()
|
|
|
+ self.assertEqual(message['Reply-To'], 'reply_to1@example.com, reply_to2@example.com')
|
|
|
+
|
|
|
def test_recipients_as_tuple(self):
|
|
|
email = EmailMessage('Subject', 'Content', 'from@example.com', ('to@example.com', 'other@example.com'), cc=('cc@example.com', 'cc.other@example.com'), bcc=('bcc@example.com',))
|
|
|
message = email.message()
|
|
@@ -102,6 +117,8 @@ class MailTests(HeadersCheckMixin, SimpleTestCase):
|
|
|
EmailMessage(cc='foo@example.com')
|
|
|
with self.assertRaisesMessage(TypeError, '"bcc" argument must be a list or tuple'):
|
|
|
EmailMessage(bcc='foo@example.com')
|
|
|
+ with self.assertRaisesMessage(TypeError, '"reply_to" argument must be a list or tuple'):
|
|
|
+ EmailMessage(reply_to='reply_to@example.com')
|
|
|
|
|
|
def test_header_injection(self):
|
|
|
email = EmailMessage('Subject\nInjection Test', 'Content', 'from@example.com', ['to@example.com'])
|
|
@@ -163,6 +180,17 @@ class MailTests(HeadersCheckMixin, SimpleTestCase):
|
|
|
self.assertEqual(message['To'], 'list-subscriber@example.com, list-subscriber2@example.com')
|
|
|
self.assertEqual(email.to, ['list-subscriber@example.com', 'list-subscriber2@example.com'])
|
|
|
|
|
|
+ def test_reply_to_header(self):
|
|
|
+ """
|
|
|
+ Specifying 'Reply-To' in headers should override reply_to.
|
|
|
+ """
|
|
|
+ email = EmailMessage(
|
|
|
+ 'Subject', 'Content', 'bounce@example.com', ['to@example.com'],
|
|
|
+ reply_to=['foo@example.com'], headers={'Reply-To': 'override@example.com'},
|
|
|
+ )
|
|
|
+ message = email.message()
|
|
|
+ self.assertEqual(message['Reply-To'], 'override@example.com')
|
|
|
+
|
|
|
def test_multiple_message_call(self):
|
|
|
"""
|
|
|
Regression for #13259 - Make sure that headers are not changed when
|