from smtplib import SMTP, SMTP_SSL from ssl import create_default_context from traceback import print_exc from modules.utils import configGet, logWrite try: if configGet("use_ssl", "mailer", "smtp") is True: mail_sender = SMTP_SSL( configGet("host", "mailer", "smtp"), configGet("port", "mailer", "smtp"), ) logWrite(f"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() logWrite(f"Initialized SMTP TLS connection") else: mail_sender = SMTP( configGet("host", "mailer", "smtp"), configGet("port", "mailer", "smtp") ) mail_sender.ehlo() logWrite(f"Initialized SMTP connection") except Exception as exp: logWrite(f"Could not initialize SMTP connection to: {exp}") print_exc() try: mail_sender.login( configGet("login", "mailer", "smtp"), configGet("password", "mailer", "smtp") ) logWrite(f"Successfully initialized mailer") except Exception as exp: logWrite(f"Could not login into provided SMTP account due to: {exp}")