fix: properly format SMTP from address/name (#1782)

This commit is contained in:
Michael Genson 2022-10-27 13:46:53 -05:00 committed by GitHub
parent 1e3c0b0859
commit 0dfb3a84cb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -28,12 +28,13 @@ class SMTPResponse:
class Message: class Message:
subject: str subject: str
html: str html: str
mail_from: tuple[str, str] mail_from_name: str
mail_from_address: str
def send(self, to: str, smtp: EmailOptions) -> SMTPResponse: def send(self, to: str, smtp: EmailOptions) -> SMTPResponse:
msg = message.EmailMessage() msg = message.EmailMessage()
msg["Subject"] = self.subject msg["Subject"] = self.subject
msg["From"] = self.mail_from msg["From"] = f"{self.mail_from_name} <{self.mail_from_address}>"
msg["To"] = to msg["To"] = to
msg.add_alternative(self.html, subtype="html") msg.add_alternative(self.html, subtype="html")
@ -75,7 +76,8 @@ class DefaultEmailSender(ABCEmailSender, BaseService):
message = Message( message = Message(
subject=subject, subject=subject,
html=html, html=html,
mail_from=(self.settings.SMTP_FROM_NAME, self.settings.SMTP_FROM_EMAIL), mail_from_name=self.settings.SMTP_FROM_NAME,
mail_from_address=self.settings.SMTP_FROM_EMAIL,
) )
if self.settings.SMTP_HOST is None or self.settings.SMTP_PORT is None: if self.settings.SMTP_HOST is None or self.settings.SMTP_PORT is None: