38 lines
1.3 KiB
Python
38 lines
1.3 KiB
Python
from smtplib import SMTP, SMTP_SSL
|
|
from traceback import print_exc
|
|
from ssl import create_default_context
|
|
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}")
|