使用Flask-Mail和qq邮箱SMTP服务发送邮件

本文介绍如何使用Flask-Mail扩展通过qq邮箱的SMTP服务发送邮件。首先开启qq邮箱SMTP服务并获取授权码,然后安装Flask-Mail并进行配置。接着创建Message实例设置邮件内容,包括主题、发送者、接收者和正文。邮件可以包含HTML内容和附件。对于大量邮件发送,可以保持SMTP连接以提高效率。示例中还提到了如何处理邮件附件的ASCII编码问题,并提供了完整的代码示例。
摘要由CSDN通过智能技术生成

项目中不可避免需要使用邮箱认证,如果使用flask则可以利用Flask-Mail来实现。

Flask-Mail 扩展提供了一个简单的接口,可以在 Flask 应用中设置 SMTP 使得可以在视图以及脚本中发送邮件信息。

开启qq邮箱SMTP服务

这里我利用的qq邮箱的SMTP服务,所以首先需要先开启该服务并获得授权码。在qq邮箱 “邮箱设置 — 账户”里找到下图位置,开启SMTP服务。
开启STMP服务
之后手机验证什么的依自己帐号设置,验证成功后会获得一个授权码,这个需要保存后续发送邮箱时密码就填这个授权码。

安装Flask-Mail

pip install Flask-Mail

配置Flask-Mail

配置项 默认值 功能
MAIL_SERVER localhost 邮箱服务器
MAIL_PORT 25 端口
MAIL_USE_TLS False 是否使用TLS
MAIL_USE_SSL False 是否使用SSL
MAIL_DEBUG app.debug 是否为DEBUG模式,打印调试消息
MAIL_SUPPRESS_SEND app.testing 设置是否真的发送邮件,True不发送
MAIL_USERNAME None 用户名,填邮箱
MAIL_PASSWORD None 密码,填授权码
MAIL_DEFAULT_SENDER None 默认发送者,填邮箱
MAIL_MAX_EMAILS None 一次连接中的发送邮件的上限
MAIL_ASCII_ATTACHMENTS False 如果 MAIL_ASCII_ATTACHMENTS 设置成 True 的话,文件名将会转换成 ASCII 的。一般用于添加附件。

邮件是通过一个 Mail 实例进行管理:

from flask import Flask
from flask_mail import Mail

app = Flask(__name__)
# ...
app.config['MAIL_SERVER'] = 'smtp.qq.com'
app.config[<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值