smtplib.SMTPSenderRefused: (530, b'5.7.0 Authentication Required.) 在烧瓶中

Posted

技术标签:

【中文标题】smtplib.SMTPSenderRefused: (530, b\'5.7.0 Authentication Required.) 在烧瓶中【英文标题】:smtplib.SMTPSenderRefused: (530, b'5.7.0 Authentication Required.) in flasksmtplib.SMTPSenderRefused: (530, b'5.7.0 Authentication Required.) 在烧瓶中 【发布时间】:2020-05-01 17:32:22 【问题描述】:

我看到了很多解决方案,但仍然有发送邮件的问题,我还将电子邮件和密码设置为 ~/.bash_profile 所以请帮助我。

这是我的 config.py 文件代码

import os

class Config:
    SECRET_KEY=os.environ.get('SECRET_KEY')
    SQLALCHEMY_DATABASE_URI=os.environ.get('SQLALCHEMY_DATABASE_URI')
    MAIL_SERVER = 'smtp.googlemail.com'
    MAIL_PORT = 465
    MAIL_USE_SSL= True  
    MAIL_USERNAME=os.environ.get('EMAIL_USER')
    MAIL_PASSWORD=os.environ.get('EMAIL_PASS')

我也尝试了谷歌两步验证和应用密码仍然有问题。我现在能做什么?

【问题讨论】:

【参考方案1】:

我在调试代码时遇到了同样的问题,我发现我的os.environ.get('EMAIL_USER') 是空的。确保它具有您的确切凭据。

我所做的是对我的用户名和密码进行硬编码(出于安全考虑,不建议这样做):

class Config:

    SECRET_KEY=os.environ.get('SECRET_KEY')
    SQLALCHEMY_DATABASE_URI=os.environ.get('SQLALCHEMY_DATABASE_URI')
    MAIL_SERVER = 'smtp.googlemail.com'
    MAIL_PORT = 465
    MAIL_USE_SSL= True  
    MAIL_USERNAME='youremailhere'
    MAIL_PASSWORD='yourpasswordemailhere'

...然后确保您在您的谷歌帐户中打开了不太安全的应用程序访问,您会在这里找到它 -> https://myaccount.google.com/lesssecureapps

【讨论】:

是的,在更改环境变量之后。我需要重新启动我的 VScode,然后它才能正常工作。我希望这会有所帮助。

以上是关于smtplib.SMTPSenderRefused: (530, b'5.7.0 Authentication Required.) 在烧瓶中的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用 Flask 和 Gmail 发送电子邮件时出错