Login
网站首页 > 文章中心 > 其它

Python利用Flask-Mail实现发送邮件详解

作者:小编 更新时间:2023-10-24 18:08:56 浏览量:206人看过

下面是Python利用Flask-Mail实现发送邮件的完整攻略:

第一段:Flask-Mail简介

Flask-Mail是Flask框架的一个扩展模块,可以使发送电子邮件更方便.它提供了SMTP认证、HTML邮件等功能,使用起来十分简单.

Python利用Flask-Mail实现发送邮件详解-图1

第二段:安装Flask-Mail

在使用Flask-Mail之前,需要先安装Flask-Mail扩展.使用pip安装即可:

pip install Flask-Mail

第三段:配置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实现发送邮件详解相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章