博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Problems & Solutions --8 SMTP in flask_mail
阅读量:4100 次
发布时间:2019-05-25

本文共 1219 字,大约阅读时间需要 4 分钟。

明明按照书中的代码来写,还是出错,大半天了。

还好解决了问题。


这样的报错 :smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed')


解决办法竟然很简单:

smtp 简单邮件传输协议。

然后,一般邮箱中这个服务是关闭的。

可以自己开启这个服务,以QQ邮箱为例,设置→账户设置→开启这个SMTP服务:

这里写图片描述

QQ邮箱会自动生成一个授权码,flask_mail配置环境中的PASSWORD使用这个授权码,而不是邮箱密码。

这里写图片描述

然后运行flask程序,可以正常发送邮件了:

这里写图片描述


163邮箱,开启SMTP,会要求自己设置授权码。

使用时一样的,在环境配置时使用这个授权码,而不是邮箱密码。


测试用的代码,直接将邮箱名、密码写在了flask代码中。

书中建议在运行代码前命令行中输入这些配置,flask代码从命令行中获取邮箱名、密码、收件人。

from flask import Flaskfrom flask_mail import Mail, Messageapp = Flask(__name__)app.config.update(    DEBUG = True,    MAIL_SERVER='smtp.qq.com',    MAIL_PROT=25,    MAIL_USE_TLS = True,    MAIL_USE_SSL = False,    MAIL_USERNAME = '(这里写邮箱名)',    MAIL_PASSWORD = '(这里输入授权码)',    MAIL_DEBUG = True)mail = Mail(app)@app.route('/')def index():    # sender 发送方,recipients recipients 邮件接收方列表    msg = Message("Hi!This is a test ",sender='(发送方邮箱)', recipients=['(收件人邮箱)'])    # msg.body 邮件正文     msg.body = "This is a first email"    # msg.attach 邮件附件添加    # msg.attach("文件名", "类型", 读取文件)    with app.open_resource("E:\psu.jpg") as fp:        msg.attach("image.jpg", "image/jpg", fp.read())    mail.send(msg) #发送邮件    return "Sent"  #网页中显示if __name__ == "__main__":    app.run()  # 访问http://127.0.0.1:5000/ 会运行index函数,发送邮件
你可能感兴趣的文章
var _ HelloServiceInterface = (*HelloServiceClient)(nil)的特殊含义
查看>>
go语言(*Type).什么含义如var CloseFile = (*File).Close
查看>>
window系统下,设置mongodb远程访问
查看>>
centOS7最小安装设置网络
查看>>
Golang环境安装
查看>>
cannot find -lstdc++
查看>>
Centos修改ip方式
查看>>
centos7安装mongodb
查看>>
centos 7 关闭selinux
查看>>
window10与虚拟机共享一个文件目录
查看>>
以太坊安装常见失败场景
查看>>
vim常用操作
查看>>
linux系统文件属性操作
查看>>
saltstack安装与操作(一)
查看>>
docker镜像与容器的基本命令
查看>>
kafka集群搭建
查看>>
很抱歉,office即点即用安装程序遇到问题,因为你的计算机安装基于window Installer的office程序
查看>>
集群搭建——备份服务器rsync配置过程
查看>>
集群搭建——NFS
查看>>
集群搭建——批量分发(ssh+rsync)
查看>>