Flask 是一款轻量级的 Web 框架,非常适合快速开发小型 Web 应用。
在这篇文章中,我们将详细介绍如何在 Flask 应用中发送邮件。
安装 Flask-Mail 扩展
首先,我们需要安装 Flask-Mail 扩展来发送邮件。可以使用下面的命令来安装 Flask-Mail:
pip install Flask-Mail
接下来,我们需要设置 Flask-Mail 的配置。在 Flask 中,我们可以使用 app.config 来设置应用的配置。下面是一个基本的 Flask-Mail 配置的示例:
MAIL_SERVER='smtp.gmail.com'
MAIL_PORT=465
MAIL_USE_SSL=True
MAIL_USERNAME='your-email@example.com'
MAIL_PASSWORD='your-email-password'
MAIL_DEFAULT_SENDER='your-email@example.com'
可以根据自己使用的邮件服务商和账户信息进行相应的修改。
接下来,我们需要在 Flask 应用中导入 Flask-Mail 模块,并创建一个 Mail 实例,如下所示:
from flask import Flask
from flask_mail import Mail, Message
app = Flask(__name__)
app.config['MAIL_SERVER'] = 'smtp.gmail.com'
app.config['MAIL_PORT'] = 465
app.config['MAIL_USE_SSL'] = True
app.config['MAIL_USERNAME'] = 'your-email@example.com'
app.config['MAIL_PASSWORD'] = 'your-email-password'
app.config['MAIL_DEFAULT_SENDER'] = 'your-email@example.com'
mail = Mail(app)
用 Flask 发送邮件
现在,我们已经完成了 Flask-Mail 的配置和实例化,接下来我们可以使用 Mail 实例来发送邮件。
发送邮件的过程可以分为以下几个步骤:
- 创建 Message 对象
- 设置收件人和主题
- 设置邮件正文
- 发送邮件
下面是一个完整的发送邮件的示例:
from flask import Flask
from flask_mail import Mail, Message
app = Flask(__name__)
app.config['MAIL_SERVER'] = 'smtp.gmail.com'
app.config['MAIL_PORT'] = 465
app.config['MAIL_USE_SSL'] = True
app.config['MAIL_USERNAME'] = 'your-email@example.com'
app.config['MAIL_PASSWORD'] = 'your-email-password'
app.config['MAIL_DEFAULT_SENDER'] = 'your-email@example.com'
mail = Mail(app)
@app.route('/')
def index():
# 创建 Message 对象
msg = Message('Hello, Flask!', recipients=['recipient@exmaple.com'])
# 设置邮件内容
msg.body = 'This is a test email sent from Flask'
msg.html = '<b>This is a test email sent from Flask</b>'
# 发送邮件
mail.send(msg)
return 'Email sent!'
if __name__ == '__main__':
app.run()
在上面的示例中,我们创建了一个 Message 对象,设置了收件人和主题,然后设置了邮件正文。最后,我们使用 Mail 实例来发送邮件。
值得注意的一点是,如果使用 Gmail 发送邮件,需要先在 Gmail 账户的设置中开启“安全性较低的应用程序访问”选项。
总结
本文中,我们介绍了在 Flask 应用中发送邮件的完整攻略,包括配置 Flask-Mail、创建 Mail 实例以及发送邮件的流程和代码示例。在实际开发中,可以根据自己的需求进行相应的修改和扩展。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用 Flask 实现发送电子邮件 - Python技术站