python - smtplib.SMTPAuthenticationError : (535, b'5.7.8 用户名和密码不被接受)

标签 python flask gmail flask-mail

<分区>

我在 Flask 上写一个网站,我遇到了一个问题,即在向电子邮件用户发送电子邮件时出现这样的错误。

smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepted. Learn more at\n5.7.8  https://support.google.com/mail/?p=BadCredentials i1-20020ac25221000000b00478f5d3de95sm4732790lfl.120 - gsmtp')

我在谷歌上搜索了这个问题的解决方案,但它说你需要禁用一个 GMAIL 最近不支持的功能。也许现在有人知道如何解决这个问题?

这是我的配置连接:

app.config['MAIL_SERVER'] = 'smtp.googlemail.com'
app.config['MAIL_PORT'] = 587
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USERNAME'] = os.getenv('MAIL_USERNAME')
app.config['MAIL_PASSWORD'] = os.getenv('MAIL_PASSWORD')

请帮帮我

最佳答案

因为截止日期是 2022 年 5 月 30 日,您现在不能使用安全性较低的应用程序。 使用应用程序密码通过 Flask 发送 Gmail 的另一种方法

在生成应用程序密码之前,您的谷歌帐户必须启用 2FA。 如果启用了 2FA,那么您可以跳转到管理帐户中的安全部分,在那里您可以看到 APP 密码部分。

生成APP密码也可以阅读-> here

下面的代码我试过并且有效

我已经使用了 python 另一个依赖

pip install Flask-Mail

from flask import Flask
from flask_mail import Mail, Message

app = Flask(__name__)
mail= Mail(app)

app.config['MAIL_SERVER']='smtp.gmail.com'
app.config['MAIL_PORT'] = 465
app.config['MAIL_USERNAME'] = 'someone@gmail.com'
app.config['MAIL_PASSWORD'] = 'YOUR_APP_PASSWORD'
app.config['MAIL_USE_TLS'] = False
app.config['MAIL_USE_SSL'] = True
mail = Mail(app)

@app.route("/")
def index():
   msg = Message('Hello', sender = 'someone@gmail.com', recipients = ['someone@gmail.com'])
   msg.body = "Hello Flask message sent from Flask-Mail"
   mail.send(msg)
   return "Sent"

if __name__ == '__main__':
   app.run(debug = True)

关于python - smtplib.SMTPAuthenticationError : (535, b'5.7.8 用户名和密码不被接受),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72576024/

相关文章:

html - HTML 5 可以拖放处理文件夹吗?

python - 从 go 客户端到 python 服务器的 Protobuf 消息

python - 通过 sqlalchemy 关系通过 backref 属性获取 parent 的 child 会导致不必要的刷新

python - Spark : What's the difference between spark. sql 和 sqlCtx.sql

PHP - 类似 Gmail 的电子邮件内容分离

node.js - 使用 Mandrill 发送时是否可以指定我自己的 Message-Id 电子邮件 header ?

python - 按索引名称过滤数据框行

javascript - Flask Javascript Json 数据 - 未定义

python - 使用 Flask 从 Jinja 模板中的 settings.py 文件获取变量

python - uWSGI 的意义何在?