📅  最后修改于: 2023-12-03 15:30:47.221000             🧑  作者: Mango
Flask-Mail 是一个用于在 Flask 中发送电子邮件的扩展程序,它允许你轻松地在你的 Flask 应用程序中发送电子邮件。它提供了一个简单而强大的界面,使开发人员能够轻松地把电子邮件集成到他们的 Flask 应用程序中。
要安装 Flask-Mail,可以使用 pip 命令轻松安装:
$ pip install flask-mail
在你的 Flask 应用程序中集成 Flask-Mail 是非常容易的。首先,你需要创建一个 Flask-Mail 对象,并设置配置。下面是一个使用 Gmail SMTP 服务器发送电子邮件的示例:
from flask_mail import Mail, Message
from flask import Flask
app = Flask(__name__)
app.config['MAIL_SERVER']='smtp.gmail.com'
app.config['MAIL_PORT'] = 465
app.config['MAIL_USERNAME'] = 'your-email@gmail.com'
app.config['MAIL_PASSWORD'] = 'your-email-password'
app.config['MAIL_USE_TLS'] = False
app.config['MAIL_USE_SSL'] = True
mail = Mail(app)
@app.route("/")
def index():
msg = Message('Hello', sender = 'your-email@gmail.com', recipients = ['recipient-email@gmail.com'])
msg.body = "Hello Flask message sent from Flask-Mail"
mail.send(msg)
return "Sent"
if __name__ == '__main__':
app.run(debug = True)
在这个例子中,我们首先创建了一个 Flask 应用程序对象,然后设置了 SMTP 服务器和认证凭据等配置。我们还创建了一个 Mail 对象,并将应用程序实例传递给它。然后,我们定义了一个根路径路由,它将向收件人发送一条电子邮件。
下面是一些常用的配置选项:
Flask-Mail 的 Message 对象用于创建电子邮件消息。这个对象包含以下属性:
要发送一封电子邮件,你可以创建一个 Message 对象,填写接收者、主题和正文,然后将 Message 对象传递给 Mail.send() 方法。
from flask_mail import Mail, Message
mail = Mail(app)
msg = Message('Hello', sender = 'example@example.com', recipients = ['recipient@example.com'])
msg.body = "Hello Flask message sent from Flask-Mail"
mail.send(msg)
Flask-Mail 的消息对象是继承了 Python 标准库中 email.message.Message 的,从而可能会导致内存泄漏,为了避免这种情况,我们可以在发送电子邮件后手动销毁消息对象:
msg = Message('...', sender='...', recipients=['...'])
mail.send(msg)
del msg
Flask-Mail 可以方便地在 Flask 应用程序中集成电子邮件功能。使用 Flask-Mail,你可以轻松地发送电子邮件,并在需要时灵活地配置和自定义电子邮件消息。