I am building a mail backend that should add a specific address to the bcc of an email.
from django.conf import settings
from djcelery_email.backends import CeleryEmailBackend
class BCCEmailBackend(CeleryEmailBackend):
def send_messages(self, email_messages):
for i, message in enumerate(email_messages):
if settings.DEFAULT_BCC_EMAIL is not None:
message.bcc.append(settings.DEFAULT_BCC_EMAIL)
super().send_messages(email_messages)
When I run my test, the bcc is not set.
@override_settings(DEFAULT_BCC_EMAIL="should_be_send@bcc.de")
def test_default_bcc_email(self):
self.assertEqual(settings.DEFAULT_BCC_EMAIL, "should_be_send@bcc.de")
msg = EmailMultiAlternatives(
self.subject, self.text_content, "test@sender.de", ["test@recipient.de"]
)
msg.attach_alternative(self.html_content, "text/html")
msg.send()
#...
# This test always fails
self.assertListEqual(m.bcc, ["should_be_send@bcc.de"], "Default bcc should be set")
When I set the bcc directly when initialising EmailMultiAlternatives my test is succeeding.