[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