gpt4 book ai didi

python - smtplib.SMTPSenderRefused : (530, b'5.7.0 需要身份验证。了解更多信息,请访问\n5.7.0 https ://support. google.2 - gsmtp', 'noreply@demo.com' )

转载 作者:行者123 更新时间:2023-12-03 20:07:06 24 4
gpt4 key购买 nike

初始化 .py

from flask_wtf import FlaskForm 
from wtforms import StringField,SubmitField,PasswordField
from wtforms.validators import DataRequired,Length,Email
from flask import Flask
from flask_bcrypt import Bcrypt
from flask_login import LoginManager
from flask_sqlalchemy import SQLAlchemy
from flask_mail import Mail
import os






app = Flask(__name__)
app.config['SECRET_KEY'] = 'r3t058rf3409tyh2g-rwigGWRIGh[g'
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)


db = SQLAlchemy(app)

logMg=LoginManager(app)
logMg.login_view='login'
logMg.login_message_category='info'

bcrypt=Bcrypt()

from portfolio import routes

路由.py
def send_reset_email(user):
token=user.get_reset_token()
msg=Message('Password Reset Request',sender='noreply@demo.com',recipients=[user.email])
msg.body=''' To reset your password visit the following link:
{ url_for('reset_token',token=token,_external=True) }
If you did not Make request please contact our Team
'''
mail.send(msg)

@app.route("/reset_password",methods=['GET','POST'])
def reset_request():
if current_user.is_authenticated:
return redirect(url_for('admin'))
form=RequestResetForm()
if form.validate_on_submit():
user=User.query.filter_by(email=form.email.data).first()
send_reset_email(user)
flash('Reset Email Link Sent')
return redirect(url_for('login'))
return render_template("reset_request.html",form=form,legend='Edit Post')

@app.route("/reset_password/<token>",methods=['GET','POST'])
def reset_token():
if current_user.is_authenticated:
return redirect(url_for('admin'))
user=User.verify_reset_token(token)
if user is None:
flash('Invalid or Expired Token','warning')
return redirect(url_for(reset_request))
form=ResetPasswordForm()
if form.validate_on_submit():
hashed_password=bcrypt.generate_password_hash(form.password.data).decode('utf-8')
user.password=hashed_password
db.session.commit()
flash('Password Changed!','success')
return redirect(url_for('Login'))
return render_template('reset_token',form=form,legend='Reset Password Form')

不断收到此错误以验证发件人 我已尝试更改为我的电子邮件并启用 IMAP 设置,但没有奏效

退货

smtplib.SMTPSenderRefused
smtplib.SMTPSenderRefused: (530, b'5.7.0 需要身份验证。了解更多信息:\n5.7.0 https://support.google.com/mail/?p=WantAuthError t20sm2139075wmi.2 - gsmtp', 'noreply@demo.com')

回溯(最近一次调用最后一次)
文件“C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\flask\app.py”,第 2464 行,在 中调用
返回 self.wsgi_app(environ, start_response)

文件“C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\flask\app.py”,第 2450 行,在 wsgi_app 中
响应 = self.handle_exception(e)

文件“C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\flask\app.py”,第 1867 行,handle_exception
再加注(exc_type,exc_value,tb)

文件“C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\flask_compat.py”,第 39 行,重新提出
提升值(value)

文件“C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\flask\app.py”,第 2447 行,在 wsgi_app 中
响应 = self.full_dispatch_request()

文件“C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\flask\app.py”,第 1952 行,在 full_dispatch_request 中
rv = self.handle_user_exception(e)

文件“C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\flask\app.py”,第 1821 行,在 handle_user_exception
再加注(exc_type,exc_value,tb)

文件“C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\flask_compat.py”,第 39 行,重新提出
提升值(value)

文件“C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\flask\app.py”,第 1950 行,在 full_dispatch_request 中
rv = self.dispatch_request()

文件“C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\flask\app.py”,第 1936 行,在 dispatch_request 中
返回 self.view_functionsrule.endpoint

文件“C:\Dev\Visual Studio 2019\Projects\portfolio\portfolio\routes.py”,第 177 行,在 reset_request 中
send_reset_email(用户)

文件“C:\Dev\Visual Studio 2019\Projects\portfolio\portfolio\routes.py”,第 168 行,在 send_reset_email
邮件.发送(消息)

文件“C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\flask_mail.py”,第 492 行,发送
消息.发送(连接)

文件“C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\flask_mail.py”,第 427 行,发送
connection.send(self)

文件“C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\flask_mail.py”,第 192 行,发送
message.rcpt_options)

文件“C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\smtplib.py”,第 867 行,在 sendmail
提高 SMTPSenderRefused(代码,resp,from_addr)

smtplib.SMTPSenderRefused: (530, b'5.7.0 需要身份验证。了解更多信息:\n5.7.0 https://support.google.com/mail/?p=WantAuthError t20sm2139075wmi.2 - gsmtp', 'noreply@demo.com')

最佳答案

先决条件

  • 您需要一个有效的 gmail 帐户,这意味着您需要知道电子邮件地址和密码
  • 您必须将这些电子邮件地址和密码添加到 Windows 系统变量。 (EMAIL_USER 和 EMAIL_PASSWORD)
  • 你需要打开'
    您的 Gmail 帐户安全中的“应用访问安全性较低”。
    你可以谷歌一下。

  • 完成上述所有先决条件后,请尝试检查您是否可以首先从命令行获取这些变量。
  • 转到命令提示符,输入 Echo %EMAIL_USER% 并且期望返回输出是您的电子邮件。如果 %EMAIL_USER% 也返回,那么您错误地配置了上面的第 2 步。
  • 不要从 VS Code 执行 Python 文件。这个问题也类似于 Pycharm 用户。我认为 VS Code 可能无法以某种方式访问​​操作系统环境(可能我不确定如何配置它。)替代解决方案是通过命令行激活您的虚拟环境,然后通过命令行运行 Python -- 打开命令提示符和转到您的 Python 程序文件夹。 CD 脚本并执行“激活”

  • 2.1 测试你的Python是否可以通过执行Python和import os然后获取OS环境
    print (os.environ.get("EMAIL_USER")) 
    预期输出是您的电子邮件地址。
    2.2 完成后,返回主程序文件夹并执行 Python run.py
  • 尝试重置密码。应该发送电子邮件。我现在收到了电子邮件。


  • 您可以尝试的第二件事:
    而不是使用 TLS,
    app.config['MAIL_SERVER'] = 'smtp.gmail.com'
    app.config['MAIL_PORT'] = 465
    app.config['MAIL_USE_SSL'] = True

    关于python - smtplib.SMTPSenderRefused : (530, b'5.7.0 需要身份验证。了解更多信息,请访问\n5.7.0 https ://support. google.2 - gsmtp', 'noreply@demo.com' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61602885/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com