more robust email format
This commit is contained in:
parent
a9b4a08357
commit
e0eec9630b
@ -1,5 +1,6 @@
|
|||||||
import smtplib
|
import smtplib
|
||||||
import logging
|
import logging
|
||||||
|
import email
|
||||||
from email.mime.multipart import MIMEMultipart
|
from email.mime.multipart import MIMEMultipart
|
||||||
from email.mime.text import MIMEText
|
from email.mime.text import MIMEText
|
||||||
from email.header import Header
|
from email.header import Header
|
||||||
@ -12,10 +13,15 @@ logger = logging.getLogger('waitress')
|
|||||||
def sendmail(to: str, subject: str, message: str):
|
def sendmail(to: str, subject: str, message: str):
|
||||||
if not (mail_config['username'] and mail_config['password']):
|
if not (mail_config['username'] and mail_config['password']):
|
||||||
logger.error("smtp email account is not configured")
|
logger.error("smtp email account is not configured")
|
||||||
mail = MIMEText(message, "plain")
|
mail = MIMEMultipart('alternative')
|
||||||
mail['Subject'] = Header(subject)
|
mail['Subject'] = Header(subject).encode()
|
||||||
mail['From'] = Header(mail_config['from'])
|
mail['From'] = '%s <%s>' % (
|
||||||
mail['To'] = Header(to)
|
Header(mail_config['from']).encode(), mail_config['username'])
|
||||||
|
mail['To'] = to
|
||||||
|
mail['Message-id'] = email.utils.make_msgid()
|
||||||
|
mail['Date'] = email.utils.formatdate()
|
||||||
|
|
||||||
|
mail.attach(MIMEText(message, "plain"))
|
||||||
try:
|
try:
|
||||||
smtp = smtplib.SMTP_SSL(mail_config['host'], int(mail_config['port']))
|
smtp = smtplib.SMTP_SSL(mail_config['host'], int(mail_config['port']))
|
||||||
smtp.login(mail_config['username'], mail_config['password'])
|
smtp.login(mail_config['username'], mail_config['password'])
|
||||||
|
Reference in New Issue
Block a user