下面是Python利用Flask-Mail实现发送邮件的完整攻略:
Flask-Mail是Flask框架的一个扩展模块,可以使发送电子邮件更方便.它提供了SMTP认证、HTML邮件等功能,使用起来十分简单.
在使用Flask-Mail之前,需要先安装Flask-Mail扩展.使用pip安装即可:
pip install Flask-Mail
在使用Flask-Mail之前,还需要在Flask程序中进行配置.例如:
from flask import Flask
from flask_mail import Mail
app = Flask(__name__)
app.config['MAIL_SERVER'] = 'smtp.qq.com'
app.config['MAIL_PORT'] = 465
app.config['MAIL_USE_SSL'] = True
app.config['MAIL_USERNAME'] = 'your_account@qq.com'
app.config['MAIL_PASSWORD'] = 'your_password'
app.config['MAIL_DEFAULT_SENDER'] = 'your_account@qq.com'
mail = Mail(app)
Flask-Mail提供了send_message()方法实现邮件发送,例如:
from flask_mail import Message
msg = Message('Subject', recipients=['receiver@example.com'])
msg.body = 'text body'
msg.html = 'HTML body'
mail.send(msg)
其中,Message类实例化需要传入邮件主题(Subject)和收件人列表(recipients),支持text body和HTML body两种格式,可以根据需要进行设置.
如果需要发送带附件的邮件,需要在Message类实例化之后,调用add_attachment()方法,例如:
with app.open_resource("path/to/file") as fp:
msg.attach("file_name", "application/octet-stream", fp.read())
mail.send(msg)
其中,add_attachment()方法需要传入附件文件名、MIME类型和附件内容,fp.read()返回文件内容.
下面是完整的示例代码,包括发送简单邮件和发送带附件的邮件两种情形:
from flask import Flask
from flask_mail import Mail, Message
app = Flask(__name__)
app.config['MAIL_SERVER'] = 'smtp.qq.com'
app.config['MAIL_PORT'] = 465
app.config['MAIL_USE_SSL'] = True
app.config['MAIL_USERNAME'] = 'your_account@qq.com'
app.config['MAIL_PASSWORD'] = 'your_password'
app.config['MAIL_DEFAULT_SENDER'] = 'your_account@qq.com'
mail = Mail(app)
@app.route('/')
def index():
return 'Sent with attachment'
今天小编给大家带来得是Flask-Mail发送邮件的用法,包括安装、配置、发送简单邮件和发送带附件的邮件.使用Flask-Mail可以方便地在Flask应用中集成邮件发送功能.
以上就是土嘎嘎小编为大家整理的Python利用Flask-Mail实现发送邮件详解相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!