Mercurial > hg > gcmultimerge
changeset 95:b5cc76f18256
Fix e-mail sending and implement basic TLS support for outgoing SMTP.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 02 Aug 2016 12:50:03 +0300 |
parents | f6836a604322 |
children | 6e8e3695cfaa |
files | multimerge.py |
diffstat | 1 files changed, 14 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/multimerge.py Wed Jul 27 15:10:46 2016 +0300 +++ b/multimerge.py Tue Aug 02 12:50:03 2016 +0300 @@ -69,9 +69,16 @@ msg["From"] = cfg.email_sender msg["To"] = ",".join(cfg.email_to) try: - smtpH = smtplib.SMTP(cfg.email_server) - smtpH.sendmail(cfg.email_sender, cfg.email_to, msg.as_string()) - smtpH.quit() + server = smtplib.SMTP(cfg.email_server) + if gcm_check_debug(4): + server.set_debuglevel(10) + + if cfg.email_use_tls: + server.starttls() + + server.login(cfg.email_srv_user, cfg.email_srv_password) + server.sendmail(cfg.email_sender, cfg.email_to, msg.as_string()) + server.quit() except Exception as e: gcm_print(u"FATAL: Oh crap, e-mail sending failed: {0}".format(str(e))) sys.exit(1) @@ -353,7 +360,11 @@ cfg.mdef("email_to", True, cfg.is_email_list, cfg.trans_email_list, None) cfg.mdef("email_sender", True, cfg.is_email, None, None) cfg.mdef("email_subject", True, cfg.is_string, None, u"Google Calendar MultiMerge status") + +cfg.mdef("email_use_tls", True, cfg.is_bool, cfg.trans_bool, False) cfg.mdef("email_server", True, cfg.is_string, None, None) +cfg.mdef("email_srv_user", True, cfg.is_string, None, None) +cfg.mdef("email_srv_password", True, cfg.is_string, None, None) cfg.mdef("source_regex", True, cfg.is_string, None, u"^R:\s*(.*?)\s*\(\s*(.+?)\s*\)\s*$") cfg.mdef("source_regmap", False, cfg.is_list, cfg.trans_list, [1, 2]) @@ -429,7 +440,6 @@ gcm_fatal(u"Target calendar ID or name required, but not set.") - ## Initialize and authorize API connection credentials = gcm_get_credentials(cfg) http = credentials.authorize(httplib2.Http())