配置 Flask-Mail

Flask-Mail 使用标准的 Flask 配置 API 进行配置。下面这些是可用的配置型(每一个将会在文档中进行解释):

  • MAIL_SERVER : 默认为 ‘localhost’
  • MAIL_PORT : 默认为 25
  • MAIL_USE_TLS : 默认为 False
  • MAIL_USE_SSL : 默认为 False
  • MAIL_DEBUG : 默认为 app.debug
  • MAIL_USERNAME : 默认为 None
  • MAIL_PASSWORD : 默认为 None
  • MAIL_DEFAULT_SENDER : 默认为 None
  • MAIL_MAX_EMAILS : 默认为 None
  • MAIL_SUPPRESS_SEND : 默认为 app.testing
  • MAIL_ASCII_ATTACHMENTS : 默认为 False

另外,Flask-Mail 使用标准的 Flask 的 TESTING 配置项用于单元测试(下面会具体介绍)。

邮件是通过一个 Mail 实例进行管理:

  1. from flask import Flask
  2. from flask_mail import Mail
  3. app = Flask(__name__)
  4. mail = Mail(app)

在这个例子中所有的邮件将会使用传入到 Mail 实例中的应用程序的配置项进行发送。

或者你也可以在应用程序配置的时候设置你的 Mail 实例,通过使用 init_app 方法:

  1. mail = Mail()
  2. app = Flask(__name__)
  3. mail.init_app(app)

在这个例子中邮件将会使用 Flask 的 current_app 中的配置项进行发送。如果你有多个具有不用配置项的多个应用运行在同一程序的时候,这种设置方式是十分有用的,