#!/usr/bin/python import sys import os import csv import smtplib sender_header = 'mail-merge-sender@mit.edu' def dictize_line(header, line,): line_dict = {} for key, elem in zip(header, line, ): line_dict[key]=elem return line_dict if __name__=='__main__': print "Syntax: $script $cc_addr $template $recipients" smtp = smtplib.SMTP() smtp.connect() cc_addr = sys.argv[1] email_file = sys.argv[2] email = open(email_file, 'r').read() reader = csv.reader(open(sys.argv[3])) header = reader.next() print header for line in reader: dct = dictize_line(header, line, ) print dct text = email % dct smtp.sendmail(sender_header, [dct['email'], cc_addr, ], text, )