From 0bd11814fb804e2157dae86d6d99e0cda21b8b39 Mon Sep 17 00:00:00 2001 From: Alex Dehnert Date: Thu, 15 Sep 2011 20:08:45 -0400 Subject: [PATCH] Add sendmail-based mail merger --- mail-merge | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/mail-merge b/mail-merge index dbf39e0..f03baea 100755 --- a/mail-merge +++ b/mail-merge @@ -4,6 +4,7 @@ import sys import os import csv import smtplib +import subprocess sender_header = 'mail-merge-sender@mit.edu' smtp = None @@ -14,14 +15,24 @@ def dictize_line(header, line,): line_dict[key]=elem return line_dict -def setup_sendmail(): +def setup_sendmail_smtp(): global smtp smtp = smtplib.SMTP() smtp.connect() - -def sendmail(addrs, text): +def sendmail_smtp(addrs, text): global smtp smtp.sendmail(sender_header, addrs, text, ) +smtp_funcs = (setup_sendmail_smtp, sendmail_smtp, ) + +def sendmail_cmd(addrs, text): + args = ["/usr/lib/sendmail", "--", ] + args.extend(addrs) + proc = subprocess.Popen(args, stdin=subprocess.PIPE) + proc.communicate(text) +cmd_funcs = (lambda: True, sendmail_cmd) + +setup_sendmail, sendmail = smtp_funcs +setup_sendmail, sendmail = cmd_funcs if __name__=='__main__': print "Syntax: $script $cc_addr $template $recipients" -- 2.34.1