From e860cf24f1b69bfd9cc956edf28147100c53aee6 Mon Sep 17 00:00:00 2001 From: Florian Brandes Date: Fri, 12 Jul 2024 20:34:29 +0200 Subject: [PATCH] fix message for more than one recipient Signed-off-by: Florian Brandes --- smtprd_ng/smtprd.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/smtprd_ng/smtprd.py b/smtprd_ng/smtprd.py index 216bb92..08b68c4 100644 --- a/smtprd_ng/smtprd.py +++ b/smtprd_ng/smtprd.py @@ -316,13 +316,18 @@ class SMTPClient(SMTP): f"'{message.get('Subject', '')}'" ) if self._config.smime_cert and self._emails.email_certs[recipient] != "": - message = self._encrypt_and_sign(message, recipient) + m = self._encrypt_and_sign(message, recipient) + else: + m = message + m.add_header("From", self._config.sender) + m.add_header("To", recipient) + m = m.as_bytes() async with ( self._lock ): # TODO: consumer task from spool queue, reusing connections try: await self.connect() - await self._send_message(message, self._config.sender, recipient) + await self._send_message(m, self._config.sender, recipient) except SMTPRecipientsRefused as e: raise RuntimeError( f"Recipients refused: {', '.join(_.recipient for _ in e.recipients)}"