This repository has been archived on 2023-05-17. You can view files and clone it, but cannot push or open issues or pull requests.
web-gpt/project/smtp.py

26 lines
909 B
Python
Raw Normal View History

2023-04-19 00:16:19 +08:00
import smtplib
import logging
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header
2023-04-19 22:50:55 +08:00
from flask import current_app
2023-04-19 00:16:19 +08:00
2023-04-19 22:50:55 +08:00
mail_config = current_app.config['mail']
2023-04-19 00:16:19 +08:00
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()