From 1e300b0f1ab4f2ab6f8f1bbfe7c5fab23a93bc3b Mon Sep 17 00:00:00 2001 From: Nico Boehr <nico@nicoboehr.de> Date: Sun, 16 Jul 2023 19:27:50 +0200 Subject: [PATCH] add sendmail script --- sendmail.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 sendmail.py diff --git a/sendmail.py b/sendmail.py new file mode 100755 index 0000000..33e2660 --- /dev/null +++ b/sendmail.py @@ -0,0 +1,36 @@ +#!/usr/bin/python3 +import smtplib +from email.message import EmailMessage + +import argparse + +ap = argparse.ArgumentParser() +ap.add_argument("--recipients", type=argparse.FileType('r'), help="Recipients, one per line", required=True) +ap.add_argument("--message", type=argparse.FileType('r'), help="Message to send", required=True) +ap.add_argument("--subject", help="Message subject", required=True) +ap.add_argument("--sender", help="Mail from", required=True) +args = ap.parse_args() + +message = args.message.read() + +for line in args.recipients: + if line.startswith("#"): + continue + if not "@" in line: + print(f"Line does not seem to contain @-sign: {line}") + recipient = line.strip() + if len(line) < 1: + continue + + print(f"Sending to {recipient}...") + msg = EmailMessage() + msg.set_content(message) + + msg['Subject'] = args.subject + msg['From'] = args.sender + msg['To'] = recipient + + # Send the message via our own SMTP server. + s = smtplib.SMTP('localhost') + s.send_message(msg) + s.quit() -- GitLab