fixed body encoding

This commit is contained in:
Stefan Kögl 2013-12-16 00:08:16 +01:00
parent 2f8c765610
commit cceabfdf91
1 changed files with 9 additions and 5 deletions

View File

@ -5,6 +5,7 @@ import argparse
import calendar import calendar
import smtplib import smtplib
import sys import sys
import codecs
from datetime import datetime from datetime import datetime
from email.mime.text import MIMEText from email.mime.text import MIMEText
@ -13,10 +14,9 @@ from email import charset
def createMail(args, target_date, diff): def createMail(args, target_date, diff):
fp = open(args.msg_template, 'r') body = codecs.open(args.msg_template, 'r', "utf-8").read() % {"date": target_date.strftime("%d.%m.%Y"), "diff":diff.days}
# Create a text/plain message
msg = MIMEText(fp.read() % {"date": target_date.strftime("%d.%m.%Y"), "diff":diff.days}, _charset="UTF-8") msg = MIMEText(body, _charset="UTF-8")
fp.close()
msg['Subject'] = Header(args.subject, "utf-8") msg['Subject'] = Header(args.subject, "utf-8")
msg['From'] = args.From msg['From'] = args.From
@ -47,7 +47,10 @@ def main(args):
msg = createMail(args, target_date, diff) msg = createMail(args, target_date, diff)
print(type(msg.as_string())) print(type(msg.as_string()))
print("msg", msg.as_string()) print("msg", msg.as_string())
if args.debug:
return
s = smtplib.SMTP(args.host) s = smtplib.SMTP(args.host)
s.set_debuglevel(3) s.set_debuglevel(3)
s.sendmail(args.From, [args.to], msg.as_string()) s.sendmail(args.From, [args.to], msg.as_string())
@ -66,6 +69,7 @@ if __name__ == '__main__':
parser.add_argument('-f', "--From", default="CTDOReminder <discuss@lists.chaostreff-dortmund.de>", help="mail from") parser.add_argument('-f', "--From", default="CTDOReminder <discuss@lists.chaostreff-dortmund.de>", help="mail from")
parser.add_argument('-t', "--to", default="discuss@lists.chaostreff-dortmund.de", help="mail to") parser.add_argument('-t', "--to", default="discuss@lists.chaostreff-dortmund.de", help="mail to")
parser.add_argument('-H', "--host", default="", help="the smtp server to send to") parser.add_argument('-H', "--host", default="", help="the smtp server to send to")
parser.add_argument('-D', "--debug", action="store_true", help="don't send the mail")
args = parser.parse_args(sys.argv[1:]) args = parser.parse_args(sys.argv[1:])