Flask Web开发 6.0 电子邮件

本文介绍如何使用Flask-Mail扩展为Flask应用提供电子邮件支持。文章详细解释了Flask-Mail的安装过程及其与SMTP服务器的配置方法,并给出了使用Google Gmail账户发送邮件的具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很多类型的应用程序都需要在特定事件发生时提醒用户,而常用的通信方法就是电子邮件。虽然Python标准库中的smtplib包可用在Flask程序中发送电子邮件,但包装了smtplib的Flask-Mail扩展能更好地和Flask集成。

使用Flask-Mail提供电子邮件支持

使用pip 安装 Flask-Mail:pip install flask-mail

Flask-Mail连接到简单邮件传输协议(SMTP)服务器,并且把邮件交给这个服务器发送。如果不进行配置,Flask-Mail会连接localhost上的端口25,无需验证即可发送电子邮件。下表列出了可用来设置SMTP服务器的配置。

配置默认值说明
MAIL_PORT25电子邮件服务器的端口
MAIL_USE_TLSFalse启用传输层安全协议
MAIL_USE_SSLFalse启用安全套接层协议
MAIL_USERNAMENone邮件账户用户名
MAIL_PASSWORDNone邮件账户密码
MAIl_SERVERlocalhost电子邮件服务器的主机名或IP地址
在开发过程中,如果连接到外部SMTP服务器,则可能更方便。举个例子,下面展示了配置程序使用GoogleGmail账户发送电子邮件

import os
#...
app.config['MAIL_SERVER'] = 'smtp.googlemail.com'
app.config['MAIL_PORT'] = 587
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USERNAME'] = os.environ.get(‘MAIL_USERNAME’)
app.config['MAIL_PASSWORD'] = os.envion.get('MAIL_PASSWORD')
示例 hello.py:初始化 Flask-Mail
from flask_mail import Mail
mail = Mail(app)
保存电子邮件服务器用户名和密码的两个环境变量要在环境中定义。也可以自己直接在程序中添加字符串。

注意,Flask-Mail的send()函数使用current_app,因此要在激活的程序上下文中执行:

with app.app_context():
    mail.send(mymessage)
后续的部分,当用到之后再在博客中补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值