Commit df2f7a04 authored by Cristiano Urban's avatar Cristiano Urban
Browse files

Added basic logging and code to handle exceptions.

parent 20240aae
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
#!/usr/bin/env python

import logging
import mimetypes
import smtplib

@@ -17,6 +18,16 @@ class Mailer(object):
        self.smtpServer = params["smtp_server"]
        self.smtpPort = params.getint("smtp_port")
        self.sender = params["no_reply_email"]
        params = config.loadSection("logging")
        self.logger = logging.getLogger("Mailer")
        logLevel = "logging." + params["log_level"]
        logDir = params["log_dir"]
        logFile = logDir + '/' + "mailer.log"
        self.logger.setLevel(eval(logLevel))
        logHandler = logging.FileHandler(logFile)
        logFormatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
        logHandler.setFormatter(logFormatter)
        self.logger.addHandler(logHandler)
        self.recipients = []
        self.message = None

@@ -56,10 +67,11 @@ class Mailer(object):
            smtpObj = smtplib.SMTP(self.smtpServer, self.smtpPort)
            smtpObj.send_message(self.message)
            print("Message sent!")
            self.logger.info("Message sent!")
        except TimeoutError:
            print("Error: connection timeout.")
            self.logger.exception("Error: connection timeout!")
        except SMTPException:
            print("Error: cannot send email message.")
            self.logger.exception("Error: cannot send email message!")


# Test 1