使用Flask-Mail和Ionos邮箱发送邮件
11/6/2022
该文档讲述了如何使用Flask-Mail库和Ionos的邮箱来发送邮件。
开始阅读前,需要知道:
- Flask 是一个使用 Python 编写的 Web 应用框架
- Flask-Mail 提供了接口以让 Web 应用程序向客户端发送邮件
- Flask 和 Flask-Mail 都可以使用
pip install
来安装 - Ionos 是一家网络托管公司,提供域名注册、SSL证书、电子邮件等服务
- Ionos 的电子邮件可在域名注册后获得
配置Flask-Mail
请先确保你已经从 Ionos 购买 了一个域名,且创建了一个邮箱。
-
在 app.py 中输入以下几行进行配置。
Ionos 邮箱可在 Ionos 的邮箱概述中找到。
app.py 1
2
3
4
5
6app.config['MAIL_SERVER'] ='smtp.ionos.com'
app.config['MAIL_PORT'] = 587
app.config['MAIL_USERNAME'] = '你的Ionos邮箱'
app.config['MAIL_PASSWORD'] = '你的Ionos邮箱密码'
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USE_SSL'] = False -
配置完毕后加上这行代码。
该行代码必须写在以上配置的后面,否则会出错。
app.py 1
mail = Mail(app)
发送邮件
-
导入 Flask-Mail 包。
app.py 1
from flask_mail import Mail, Message
-
将 URL 与函数绑定。
app.py 1
2
3
def index():
return "Hey!" -
创建 Message 实例和邮件内容。
app.py 1
2
3
4
5msg = Message("这里是主题",
sender="你的Ionos邮箱",
recipients=['收件人的邮箱'])
msg.body = "这里是邮件内容" -
使用 Mail 实例发送邮件。
app.py 1
mail.send(msg)
-
整体代码如下。
app.py 1
2
3
4
5
6
7
8
9
def index():
msg = Message("这里是主题",
sender="你的Ionos邮箱",
recipients=['收件人的邮箱'])
msg.body = "这里是邮件内容"
mail.send(msg)
return "Hey!"