Refactor out the actual mail-sending
authorAlex Dehnert <adehnert@mit.edu>
Thu, 15 Sep 2011 23:38:02 +0000 (19:38 -0400)
committerAlex Dehnert <adehnert@mit.edu>
Thu, 15 Sep 2011 23:38:02 +0000 (19:38 -0400)
mail-merge

index 8ff245976ffcac1b382ee54c3f09506c455e96cc..dbf39e095ac1c63d1deac1bbd0a6b1d8d40cc892 100755 (executable)
@@ -6,6 +6,7 @@ import csv
 import smtplib
 
 sender_header = 'mail-merge-sender@mit.edu'
+smtp = None
 
 def dictize_line(header, line,):
     line_dict = {}
@@ -13,10 +14,18 @@ def dictize_line(header, line,):
         line_dict[key]=elem
     return line_dict
 
-if __name__=='__main__':
-    print "Syntax: $script $cc_addr $template $recipients"
+def setup_sendmail():
+    global smtp
     smtp = smtplib.SMTP()
     smtp.connect()
+
+def sendmail(addrs, text):
+    global smtp
+    smtp.sendmail(sender_header, addrs, text, )
+
+if __name__=='__main__':
+    print "Syntax: $script $cc_addr $template $recipients"
+    setup_sendmail()
     cc_addr = sys.argv[1]
     email_file = sys.argv[2]
     email = open(email_file, 'r').read()
@@ -27,4 +36,4 @@ if __name__=='__main__':
         dct = dictize_line(header, line, )
         print dct
         text = email % dct
-        smtp.sendmail(sender_header, [dct['email'], cc_addr, ], text, )
+        sendmail([dct['email'], cc_addr, ], text, )