def send(message, subject, to, to_name=None, sender=None, sender_name=None):
sender = sender or app.config.get('MAIL_FROM')
sender_name = sender_name or app.config.get('MAIL_FROM_NAME')
host = app.config.get('MAIL_HOST')
try:
server = smtplib.SMTP(host)
except smtplib.SMTPConnectError as ex:
app.logger.error('Unable to send mail: %s', str(ex))
raise MailFailure()
msg = text.MIMEText(message)
msg['Subject'] = subject
msg['To'] = email.utils.formataddr((to_name, to))
msg['From'] = email.utils.formataddr((sender_name, sender))
try:
if app.debug:
server.set_debuglevel(True)
server.sendmail(sender, [to], msg.as_string())
except smtplib.SMTPException as ex:
app.logger.error('Unable to send mail: %s', str(ex))
raise MailFailure()
finally:
try:
server.quit()
except smtplib.SMTPException:
pass
评论列表
文章目录