26 lines
882 B
Python
26 lines
882 B
Python
import smtplib
|
|
import logging
|
|
from email.mime.multipart import MIMEMultipart
|
|
from email.mime.text import MIMEText
|
|
from email.header import Header
|
|
from . import app
|
|
|
|
mail_config = app['mail']
|
|
logger = logging.getLogger('waitress')
|
|
|
|
|
|
def sendmail(to: str, subject: str, message: str):
|
|
if not (mail_config['username'] and mail_config['password']):
|
|
logger.error("smtp email account is not configured")
|
|
mail = MIMEText(message, "plain")
|
|
mail['Subject'] = Header(subject)
|
|
mail['From'] = Header(mail_config['from'])
|
|
mail['To'] = Header(to)
|
|
try:
|
|
smtp = smtplib.SMTP_SSL(mail_config['host'], int(mail_config['port']))
|
|
smtp.login(mail_config['username'], mail_config['password'])
|
|
smtp.sendmail(mail_config['username'], to, mail.as_string())
|
|
except Exception as e:
|
|
logger.error("sendmail error: %s", repr(e))
|
|
smtp.quit()
|