import logging from smtplib import SMTP, SMTP_SSL from ssl import create_default_context from traceback import print_exc from modules.utils import configGet logger = logging.getLogger(__name__) try: if configGet("use_ssl", "mailer", "smtp") is True: mail_sender = SMTP_SSL( configGet("host", "mailer", "smtp"), configGet("port", "mailer", "smtp"), ) logger.info("Initialized SMTP SSL connection") elif configGet("use_tls", "mailer", "smtp") is True: mail_sender = SMTP( configGet("host", "mailer", "smtp"), configGet("port", "mailer", "smtp"), ) mail_sender.starttls(context=create_default_context()) mail_sender.ehlo() logger.info("Initialized SMTP TLS connection") else: mail_sender = SMTP( configGet("host", "mailer", "smtp"), configGet("port", "mailer", "smtp") ) mail_sender.ehlo() logger.info("Initialized SMTP connection") except Exception as exc: logger.error("Could not initialize SMTP connection to: %s", exc) print_exc() try: mail_sender.login( configGet("login", "mailer", "smtp"), configGet("password", "mailer", "smtp") ) logger.info("Successfully initialized mailer") except Exception as exc: logger.error("Could not login into provided SMTP account due to: %s", exc)