该文档讲述了如何使用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 的邮箱概述中找到。

    app.py
    1
    2
    3
    4
    5
    6
    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
  2. 配置完毕后加上这行代码。

    该行代码必须写在以上配置的后面,否则会出错。

    app.py
    1
    mail = Mail(app)

发送邮件

  1. 导入 Flask-Mail 包。

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

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

    app.py
    1
    2
    3
    4
    5
    msg = Message("这里是主题",
    sender="你的Ionos邮箱",
    recipients=['收件人的邮箱'])

    msg.body = "这里是邮件内容"
  4. 使用 Mail 实例发送邮件。

    app.py
    1
    mail.send(msg)
  5. 整体代码如下。

    app.py
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @app.route('/')
    def index():
    msg = Message("这里是主题",
    sender="你的Ionos邮箱",
    recipients=['收件人的邮箱'])
    msg.body = "这里是邮件内容"
    mail.send(msg)

    return "Hey!"