[Remail] [patch v2 08/11] remail: Check outgoing mails for defects

Thomas Gleixner tglx at linutronix.de
Sun Jun 18 22:13:50 CEST 2023


EmailMessage.defects allows to inspect outgoing mails for defects. If found
report them in logging.

Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
---
 remail/mail.py     |    5 ++++-
 remail/maillist.py |    6 ++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

--- a/remail/mail.py
+++ b/remail/mail.py
@@ -75,7 +75,7 @@ import re
         if val:
             msgout[key] = val
 
-def send_mail(msg, account, mfrom, sender, listheaders, use_smtp):
+def send_mail(msg, account, mfrom, sender, listheaders, use_smtp, logger):
     '''
     Send mail to the account. Make sure that the message is correct and all
     required headers and only necessary headers are in the outgoing mail.
@@ -113,6 +113,9 @@ import re
     # Set unixfrom with the current date/time
     msgout.set_unixfrom('From remail ' + time.ctime(time.time()))
 
+    if len(msgout.defects):
+        logger.log_warn('Outgoing email has defects: %s\n' %msgout.defects)
+
     # Send it out
     if use_smtp:
         send_smtp(msgout, account.addr, sender)
--- a/remail/maillist.py
+++ b/remail/maillist.py
@@ -67,7 +67,8 @@ import os
         Only ever use for admin mails which contain no content!
         '''
         send_mail(msg, account, self.config.listaddrs.owner,
-                  self.config.listaddrs.bounce, {}, self.use_smtp)
+                  self.config.listaddrs.bounce, {}, self.use_smtp,
+                  self.logger)
 
     def encrypt(self, msg_plain, account):
         '''
@@ -89,7 +90,8 @@ import os
         try:
             msg_out = self.encrypt(msg_plain, account)
             send_mail(msg_out, account, mfrom, self.config.listaddrs.bounce,
-                      self.config.listheaders, self.use_smtp)
+                      self.config.listheaders, self.use_smtp, self.logger)
+
         except (RemailGPGException, RemailSmimeException) as ex:
             '''
             GPG and S/MIME exceptions are not fatal. If they happen



More information about the Remail mailing list