From 7a31c0195580cd907cfacf089391bb55af2e1795 Mon Sep 17 00:00:00 2001 From: Thomas Oettli Date: Tue, 21 Jan 2020 15:56:08 +0100 Subject: [PATCH] Fix handling of mails with missing headers --- pyquarantine/cli.py | 5 ++++- pyquarantine/notifications.py | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/pyquarantine/cli.py b/pyquarantine/cli.py index 8e16c56..e353448 100644 --- a/pyquarantine/cli.py +++ b/pyquarantine/cli.py @@ -118,7 +118,10 @@ def list_quarantine_emails(config, args): metadata["date"])) row["mailfrom"] = metadata["mailfrom"] row["recipient"] = metadata["recipients"].pop(0) - row["subject"] = emails[quarantine_id]["headers"]["subject"][:60] + if "subject" in emails[quarantine_id]["headers"].keys(): + row["subject"] = emails[quarantine_id]["headers"]["subject"][:60] + else + row["subject"] = "" rows.append(row) if metadata["recipients"]: diff --git a/pyquarantine/notifications.py b/pyquarantine/notifications.py index 16f71bc..ac914f9 100644 --- a/pyquarantine/notifications.py +++ b/pyquarantine/notifications.py @@ -353,7 +353,12 @@ class EMailNotification(BaseNotification): "{}: generating notification email for '{}'".format( queueid, recipient)) self.logger.debug("{}: parsing email template".format(queueid)) - + if "from" not in headers.keys(): + headers["from"] = "" + if "to" not in headers.keys(): + headers["to"] = "" + if "subject" not in headers.keys(): + headers["subject"] = "" # generate dict containing all template variables variables = defaultdict(str, EMAIL_HTML_TEXT=sanitized_text,