diff --git a/scipost_django/mails/core.py b/scipost_django/mails/core.py index 7ece3c069f7f3b106cc0f6ba36753dda832c9f18..1225035c54ccf2b016cda962206191fee46ec00a 100644 --- a/scipost_django/mails/core.py +++ b/scipost_django/mails/core.py @@ -39,9 +39,9 @@ class MailEngine: self, mail_code, subject="", - recipient_list=[], - cc=[], - bcc=[], + recipient_list=None, + cc=None, + bcc=None, from_email="", from_name="", **kwargs, @@ -62,6 +62,7 @@ class MailEngine: -- from_email (str, optional): Plain email address. -- from_name (str, optional): Display name for from address. """ + self.mail_code = mail_code self.extra_config = { "cc": cc, diff --git a/scipost_django/mails/forms.py b/scipost_django/mails/forms.py index af8ef8f9ecb2018c81d08dd893b3dce6fb247f30..21f77127fd41d7eea73dfc924e14b87441ba39f2 100644 --- a/scipost_django/mails/forms.py +++ b/scipost_django/mails/forms.py @@ -28,7 +28,6 @@ class EmailForm(forms.Form): def __init__(self, *args, **kwargs): self.mail_code = kwargs.pop("mail_code") - # Check if all exta configurations are valid. self.extra_config.update(kwargs.pop("mail_config", {})) @@ -82,7 +81,10 @@ class EmailForm(forms.Form): self.engine.render_template(self.cleaned_data["text"]) self.engine.mail_data["subject"] = self.cleaned_data["subject"] if cc_mail_str := self.cleaned_data["cc_mail_field"]: - self.engine.mail_data["cc"] += [m.strip() for m in cc_mail_str.split(",")] + if self.engine.mail_data["cc"]: + self.engine.mail_data["cc"] += [m.strip() for m in cc_mail_str.split(",")] + else: + self.engine.mail_data["cc"] = [m.strip() for m in cc_mail_str.split(",")] if bcc_mail_str := self.cleaned_data["bcc_mail_field"]: self.engine.mail_data["bcc"] += [m.strip() for m in bcc_mail_str.split(",")] self.engine.send_mail()