【问题标题】:smtplib.SMTPSenderRefused: (530, b'5.7.0 Authentication Required... and etcsmtplib.SMTPSenderRefused: (530, b\'5.7.0 Authentication Required... 等等
【发布时间】:2023-01-29 04:19:30
【问题描述】:

所以,我在制作一个基于 flask 的网站时遇到了这个问题,该网站可以选择通过电子邮件重置密码。使用了这里向有同样问题的人建议的一些东西,但没有一个奏效。是的,我确实在这里使用了有效的凭据,检查了 gmail 中是否打开了“不太安全的应用程序”,结果为零.所以,这是代码:

在里面.py

import os
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_bcrypt import Bcrypt
from flask_login import LoginManager
from flask_mail import Mail

app = Flask(__name__)
app.config['SECRET_KEY'] = '5791628bb0b13ce0c676dfde280ba245'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'
db = SQLAlchemy(app)
bcrypt = Bcrypt(app)
login_manager = LoginManager(app)
login_manager.login_view = 'login'
login_manager.login_message_category = 'info'
app.config['MAIL_SERVER'] = 'smtp.googlemail.com'
app.config['MAIL_PORT'] = 587
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USERNAME'] = os.environ.get('EMAIL_USER')
app.config['MAIL_PASSWORD'] = os.environ.get('EMAIL_PASS')
mail = Mail(app)

from Flask_Blog.flaskblog import routes

在我尝试给自己发送一封电子邮件后,它返回:

smtplib.SMTPSenderRefused: (530, b'5.7.0 Authentication Required. Learn more at\n5.7.0  https://support.google.com/mail/?p=WantAuthError a35sm1996015ljq.7 - gsmtp', 'noreply@demo.com')

File "C:\Users\Ga1ahad\PycharmProjects\pythonProject\venv\Lib\site-packages\flask\app.py", line 2091, in __call__
return self.wsgi_app(environ, start_response)

File "C:\Users\Ga1ahad\PycharmProjects\pythonProject\venv\Lib\site-packages\flask\app.py", line 2076, in wsgi_app
response = self.handle_exception(e)

File "C:\Users\Ga1ahad\PycharmProjects\pythonProject\venv\Lib\site-packages\flask\app.py", line 2073, in wsgi_app
response = self.full_dispatch_request()

File "C:\Users\Ga1ahad\PycharmProjects\pythonProject\venv\Lib\site-packages\flask\app.py", line 1518, in full_dispatch_request
rv = self.handle_user_exception(e)

File "C:\Users\Ga1ahad\PycharmProjects\pythonProject\venv\Lib\site-packages\flask\app.py", line 1516, in full_dispatch_request
rv = self.dispatch_request()

File "C:\Users\Ga1ahad\PycharmProjects\pythonProject\venv\Lib\site-packages\flask\app.py", line 1502, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)

File "C:\Users\Ga1ahad\PycharmProjects\pythonProject\Flask_Blog\flaskblog\routes.py", line 179, in reset_request
send_reset_email(user)

File "C:\Users\Ga1ahad\PycharmProjects\pythonProject\Flask_Blog\flaskblog\routes.py", line 169, in send_reset_email
mail.send(msg)

File "C:\Users\Ga1ahad\PycharmProjects\pythonProject\venv\Lib\site-packages\flask_mail.py", line 492, in send
message.send(connection)

File "C:\Users\Ga1ahad\PycharmProjects\pythonProject\venv\Lib\site-packages\flask_mail.py", line 427, in send
connection.send(self)

File "C:\Users\Ga1ahad\PycharmProjects\pythonProject\venv\Lib\site-packages\flask_mail.py", line 188, in send
self.host.sendmail(sanitize_address(envelope_from or message.sender),

File "C:\Users\Ga1ahad\AppData\Local\Programs\Python\Python39\Lib\smtplib.py", line 887, in sendmail
raise SMTPSenderRefused(code, resp, from_addr)

smtplib.SMTPSenderRefused: (530, b'5.7.0 Authentication Required. Learn more at\n5.7.0 https://support.google.com/mail/?p=WantAuthError e6sm6993lji.46 - gsmtp', 'noreply@demo.com')

所以,这就是我认为与问题相关的所有内容,但我仍然在这里返回 routes.py、forms.py、许多模板等。任何帮助将不胜感激!

编辑:我制作了一个 GitHub 页面并将我的整个项目上传到那里。邮件发送请求模板可以在 flaskblog/templates/reset_request 找到 这是链接:https://github.com/WilliamSlavchenko/Flask_Blog

感谢您的关注!

【问题讨论】:

  • SMTP 协议在两个不同的地方有一个发件人地址:信封MAIL FROM: SMTP 命令中使用的地址和标头可能出现在邮件标题中的地址。此外,一些服务器需要在任何 SMTP 操作之前进行身份验证。您只展示了初始化部分,但我们确实需要知道应用程序如何尝试连接和登录到邮件服务器,以及消息是如何发送的。

标签: python python-3.x flask


【解决方案1】:

请问您是否设法解决了这个问题?我正面临确切的问题,但无法解决,我尝试了一切。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-13
    • 1970-01-01
    • 2020-08-20
    • 2020-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多