diff --git a/generate.py b/generate.py index baabe5f..b804508 100755 --- a/generate.py +++ b/generate.py @@ -11,6 +11,7 @@ import argparse import quopri import requests import json +import subprocess from pprint import pprint CONFIG_FILE = "generator.conf" @@ -134,6 +135,7 @@ if __name__ == "__main__": parser.add_argument("--debug", action="store_true", help=argparse.SUPPRESS) parser.add_argument("--write-mbox", action="store_true") parser.add_argument("--send-mm", action="store_true") + parser.add_argument("--send-mail", action="store_true") args = parser.parse_args() config = yaml.full_load(open(args.config)) @@ -209,6 +211,14 @@ if __name__ == "__main__": for top in to: pprint(top.__dict__) pprint(context) + elif args.send_mail: + msg = email.message.EmailMessage() + msg.set_content(template.render(context)) + msg["Subject"] = j2env.from_string(config["invite_subject"]).render(context) + msg["From"] = email.utils.formataddr((config["redeleitung"]["name"], config["redeleitung"]["email"])) + msg["To"] = config["invite_mail"] + subprocess.run([*config["sendmail"], config["invite_mail"]], input=str(msg), text=True) + elif args.write_mbox: msg = email.message.EmailMessage() msg.set_content(template.render(context)) diff --git a/generator.conf.example b/generator.conf.example index 2f6d23d..cd85f52 100644 --- a/generator.conf.example +++ b/generator.conf.example @@ -63,6 +63,7 @@ place: Big Blue Button invite_mail: fsr-einladung@fsmi.uni-karlsruhe.de invite_subject: 'Einladung zum Fachschaftsrat am {{date|weekday}}, dem {{date|date}}' +sendmail: ["/usr/sbin/sendmail"] mm_url: https://mattermost.fsmi.uni-karlsruhe.de/hooks/whatever