700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Flask-Mail使用163邮箱异步发送邮件

Flask-Mail使用163邮箱异步发送邮件

时间:2023-03-11 10:19:33

相关推荐

Flask-Mail使用163邮箱异步发送邮件

很多类型的应用程序都需要在特定事件发生时提醒用户,而常用的通信方法是电子邮件。

虽然 Python 标准库中的 smtplib 包可用在 Flask 程序中发送电子邮件,但包装了 smtplib 的

Flask-Mail 扩展能更好地和 Flask 集成。

使用 pip 安装 Flask-Mail:

(venv) $ pip install flask-mail

Flask-Mail 配置项

Flask-Mail 使用标准的 Flask 配置 API 进行配置,下面是一些常用的配置项:

163邮箱配置app.config[ 'MAIL_SERVER'] = '' app.config[ 'MAIL_PORT'] = 25 app.config[ 'MAIL_USE_TLS'] = True app.config[ 'MAIL_USERNAME'] = os.environ.get( 'MAIL_USERNAME') app.config[ 'MAIL_PASSWORD'] =os.environ.get( 'MAIL_PASSWORD') app.config[ 'FLASKY_MAIL_SUBJECT_PREFIX'] = '[Flasky]' app.config[ 'FLASKY_MAIL_SENDER'] = 'Flasky Admin <youremail@>'

微软 Windows 用户可按照下面的方式设定环境变量:(<>改为'')

(venv) $ set MAIL_USERNAME=<Gmail username> 邮箱

(venv) $ set MAIL_PASSWORD=<Gmail password> 授权码

在cmd下面,设置环境变量的时候,不需要引号,在powershell下面设置的时候,需要引号!!!

异步发送邮件代码:

mail = Mail(app)

def send_async_email(app, msg): with app.app_context(): mail.send(msg)

def send_email(to, subject, template, **kwargs): msg = Message(app.config[ 'FLASKY_MAIL_SUBJECT_PREFIX'] + subject, sender=app.config[ 'FLASKY_MAIL_SENDER'], recipients=[to]) msg.body = render_template(template + '.txt', **kwargs) msg.html = render_template(template + '.html', **kwargs) thr = Thread(target=send_async_email, args=[app, msg]) thr.start() return thr

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。