Flask-Mail 扩展2025年3月17日 | 阅读 7 分钟 考虑到 Flask 是一个微框架,它在为开发者提供便利方面存在局限性。尽管如此,Flask 还有许多扩展,如 Mail、WTF、SQLite、SQLAlchemy 等,它们为开发者提供了一些基本的功能。 在本教程的这一部分,我们将学习 Flask 中一个最常见的扩展,即 Flask-Mail。 Web 应用程序必须能够向用户发送电子邮件。Flask-Mail 扩展为开发者和邮件服务器提供了一个简单的接口,可以通过 Web 应用程序发送电子邮件。 为此,我们必须使用 pip 安装器安装 Flask-Mail 扩展。 pip install Flask-Mail应用程序必须为以下参数配置 Flask-Mail。
Flask-Mail 模块类有几个类对于使用 Python Flask Web 应用程序发送电子邮件很重要。 Message 类Message 类将电子邮件消息绑定到一个简单的 Message 类实例中,以便可以在该实例上调用 attach() 等重要方法。实例化 Message 类的语法如下所示。 以下是可以在 Message 类对象上调用的方法。
Mail 类Mail 类对象用于发送电子邮件。通过将应用程序对象传递给 Mail 类构造函数来实例化 Mail 类,如下所示。 Mail 类包含以下方法。
使用 Flask Web 应用程序发送电子邮件的过程使用 Flask Web 应用程序发送电子邮件涉及以下步骤: 步骤 1: 使用 from-import 语句导入所需的模块,如 flask-mail、flask。 步骤 2: 配置 Flask Mail。 步骤 3: 实例化 Mail 类。 步骤 4: 在由某个 URL 规则映射的函数中,使用所需的属性实例化 Message 类。 示例下面的示例包含一个 Python 脚本,其中我们将电子邮件发送到给定的电子邮件 ID。 Mailer.py 我们的 Python Web 应用程序尝试登录脚本中指定的 email_id。如果您尚未允许访问您的 Google 帐户的低安全性应用程序,则此尝试可能会被阻止。在这种情况下,请访问链接 https://www.google.com/settings/security/lesssecureapps 并允许低安全性应用程序访问。 使用 OTP 在 Flask 中进行电子邮件验证在现代 Web 应用程序中,有时会使用程序随机生成的单次密码来验证电子邮件。在此示例中,我们将创建一个 Python 脚本,该脚本接受用户输入的电子邮件 ID,并发送一封包含自动(随机)生成的(4 位)一次性密码的电子邮件。 为了成功验证电子邮件 ID,用户需要输入发送到指定电子邮件的 otp。如果用户输入的 OTP 与随机生成的 OTP 匹配,则电子邮件 ID 将成功验证,并向用户显示成功消息,否则验证失败,并向用户显示失败消息。 在下面的示例中,Flask 脚本 Mailer.py 充当控制器,其函数 verify() 和 validate() 分别与 URL /verify 和 /validate 相关联。这些函数还会渲染 HTML 模板以接受用户的输入,并根据电子邮件验证显示结果。 Mailer.py index.html verify.html 以下模板会提示用户输入 email_id 和密码。Mailer.py 脚本将发送一封包含一次性密码的电子邮件到用户输入的电子邮件 ID。 ![]() 现在,系统会提示用户输入发送到指定电子邮件的 OTP。 ![]() validate() 函数将用户输入的 OTP 与随机生成并发送给用户的电子邮件 ID 中的 OTP 进行匹配。在这种情况下,OTP 匹配;因此,用户将收到如下所示的成功消息。 ![]() 批量电子邮件在上面的示例中,脚本仅向用户发送一封电子邮件进行验证。在 Web 应用程序中,有时我们需要在单个连接中发送多封电子邮件或批量电子邮件。 在这种情况下,我们可以使用 Python 的 with 语句,它会在发送完所有电子邮件后自动关闭连接对象。 示例为邮件添加附件Flask 允许我们发送带附件的邮件。为此,我们需要使用 Flask 类的 open_resource() 方法打开资源。然后,我们可以使用 Python 的 with 语句将资源添加到消息中。with 语句会在工作完成后自动关闭资源。 以下语法用于发送带附件的邮件。 发送带附件的邮件的 Flask 脚本如下所示。 mailer_attach.py 下一主题Flask SQLite |
我们请求您订阅我们的新闻通讯以获取最新更新。