diff --git a/bin/NotificationHelper.py b/bin/NotificationHelper.py index 6d396a5d..dd15499a 100755 --- a/bin/NotificationHelper.py +++ b/bin/NotificationHelper.py @@ -47,29 +47,37 @@ def sendEmailNotification(recipient, term): if isinstance(sender_pw, tuple): sender_pw = sender_pw[0] + + # raise an exception if any of these is None + if (sender is None or + sender_host is None or + sender_port is None + ): + raise Exception('SMTP configuration (host, port, sender) is missing or incomplete!') + + try: + if sender_pw is not None: + smtp_server = smtplib.SMTP_SSL(sender_host, sender_port) + smtp_server.ehlo() + smtp_server.login(sender, sender_pw) + else: + smtp_server = smtplib.SMTP(sender_host, sender_port) - if ( - sender is not None and - sender_host is not None and - sender_port is not None and - sender_pw is not None - ): - try: - - server_ssl = smtplib.SMTP_SSL(sender_host, sender_port) - server_ssl.ehlo() - server_ssl.login(sender, sender_pw) + + mime_msg = MIMEMultipart() + mime_msg['From'] = sender + mime_msg['To'] = recipient + mime_msg['Subject'] = "AIL Term Alert" + + body = "New occurrence for term: " + term + mime_msg.attach(MIMEText(body, 'plain')) + + smtp_server.sendmail(sender, recipient, mime_msg.as_string()) + smtp_server.quit() - mime_msg = MIMEMultipart() - mime_msg['From'] = sender - mime_msg['To'] = recipient - mime_msg['Subject'] = "AIL Term Alert" - - body = "New occurrence for term: " + term - mime_msg.attach(MIMEText(body, 'plain')) - - server_ssl.sendmail(sender, recipient, mime_msg.as_string()) - server_ssl.quit() - - except Exception as e: - print str(e) + except Exception as e: + print str(e) + # raise e + + + diff --git a/bin/packages/config.cfg.sample b/bin/packages/config.cfg.sample index 5f409d96..8cb7a295 100644 --- a/bin/packages/config.cfg.sample +++ b/bin/packages/config.cfg.sample @@ -23,7 +23,9 @@ sentiment_lexicon_file = sentiment/vader_lexicon.zip/vader_lexicon/vader_lexicon sender = sender@example.com sender_host = smtp.example.com sender_port = 1337 -sender_pw = securepassword + +# optional for using with authenticated SMTP over SSL +# sender_pw = securepassword ##### Flask ##### [Flask]