该文档讲述了如何使用Flask-Mail库和Ionos的邮箱来发送邮件。

开始阅读前,需要知道:
  • Flask 是一个使用 Python 编写的 Web 应用框架
  • Flask-Mail 提供了接口以让 Web 应用程序向客户端发送邮件
  • Flask 和 Flask-Mail 都可以使用 pip install 来安装
  • Ionos 是一家网络托管公司,提供域名注册、SSL证书、电子邮件等服务
  • Ionos 的电子邮件可在域名注册后获得

配置Flask-Mail

请先确保你已经从 Ionos 购买 了一个域名,且创建了一个邮箱。

  1. app.py 中输入以下几行进行配置。
    Ionos 邮箱可在 Ionos 的邮箱概述中找到。
1
2
3
4
5
6
7
8
# app.py

app.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
  1. 配置完毕后加上这行代码。
    该行代码必须写在以上配置的后面,否则会出错。
1
2
3
# app.py

mail = Mail(app)

发送邮件

  1. 导入 Flask-Mail 包。
1
2
3
# app.py

from flask_mail import Mail, Message
  1. 将 URL 与函数绑定。
1
2
3
4
5
# app.py

@app.route('/')
def index():
return "Hey!"
  1. 创建 Message 实例和邮件内容。
1
2
3
4
5
6
7
# app.py

msg = Message("这里是主题",
sender="你的Ionos邮箱",
recipients=['收件人的邮箱'])

msg.body = "这里是邮件内容"
  1. 使用 Mail 实例发送邮件。
1
2
3
# app.py

mail.send(msg)
  1. 整体代码如下。
1
2
3
4
5
6
7
8
9
10
11
# app.py

@app.route('/')
def index():
msg = Message("这里是主题",
sender="你的Ionos邮箱",
recipients=['收件人的邮箱'])
msg.body = "这里是邮件内容"
mail.send(msg)

return "Hey!"