Browse Source

Make email replies more resilient

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
main
Mario Limonciello 1 year ago
parent
commit
bfd5f0b9d5
  1. 18
      contrib/process_linux_firmware.py

18
contrib/process_linux_firmware.py

@ -81,6 +81,11 @@ def quiet_cmd(cmd):




def reply_email(content, branch): def reply_email(content, branch):
user = None
password = None
server = None
port = None

if "SMTP_USER" in os.environ: if "SMTP_USER" in os.environ:
user = os.environ["SMTP_USER"] user = os.environ["SMTP_USER"]
if "SMTP_PASS" in os.environ: if "SMTP_PASS" in os.environ:
@ -96,15 +101,26 @@ def reply_email(content, branch):
reply = email.message.EmailMessage() reply = email.message.EmailMessage()


orig = email.message_from_string(content) orig = email.message_from_string(content)
try:
reply["To"] = ", ".join( reply["To"] = ", ".join(
email.utils.formataddr(t) email.utils.formataddr(t)
for t in email.utils.getaddresses( for t in email.utils.getaddresses(
orig.get_all("from", []) + orig.get_all("to", []) + orig.get_all("cc", []) orig.get_all("from", [])
+ orig.get_all("to", [])
+ orig.get_all("cc", [])
) )
) )
except ValueError:
logging.warning("Failed to parse email addresses, not sending email")
return


reply["From"] = "linux-firmware@kernel.org" reply["From"] = "linux-firmware@kernel.org"
try:
reply["Subject"] = "Re: {}".format(orig["Subject"]) reply["Subject"] = "Re: {}".format(orig["Subject"])
except ValueError:
logging.warning("Failed to parse subject, not sending email")
return

reply["In-Reply-To"] = orig["Message-Id"] reply["In-Reply-To"] = orig["Message-Id"]
reply["References"] = orig["Message-Id"] reply["References"] = orig["Message-Id"]
reply["Thread-Topic"] = orig["Thread-Topic"] reply["Thread-Topic"] = orig["Thread-Topic"]

Loading…
Cancel
Save