Python 从Flask mail发送邮件(SMTPSenderRefused 530)
Flask邮件应用程序中使用的应用程序配置(遵循Miguel Grinberg Flask developlemt手册): 邮件用户名和密码变量已正确设置并重新检查。尝试使用以下代码发送消息时Python 从Flask mail发送邮件(SMTPSenderRefused 530),python,email,flask,smtp,flask-mail,Python,Email,Flask,Smtp,Flask Mail,Flask邮件应用程序中使用的应用程序配置(遵循Miguel Grinberg Flask developlemt手册): 邮件用户名和密码变量已正确设置并重新检查。尝试使用以下代码发送消息时 from flask.ext.mail import Message from hello import mail msg = Message('test subject', sender='same as MAIL_USERNAME', recipients=['check@mail.com']) ms
from flask.ext.mail import Message
from hello import mail
msg = Message('test subject', sender='same as MAIL_USERNAME', recipients=['check@mail.com'])
msg.body = 'text body'
msg.html = '<b>HTML</b> body'
with app.app_context():
mail.send(msg)
有解决错误的方法吗 在深入研究面临的问题时,我重新检查了谷歌的SMTP设置 改变
app.config['MAIL_SERVER'] = 'smtp.googlemail.com'
到
成功了
还要确保完整用户名用作Gmail SMTP用户名,即example@gmail.com如上图所示
希望这有帮助 我也跟着这本书,得到了同样的问题,在到处挖掘之后,我找到了问题的根源。但是,我不确定你的情况是否也一样
app.config['MAIL_USERNAME'] = os.environ.get('MAIL_USERNAME')
app.config['MAIL_PASSWORD'] = os.environ.get('MAIL_PASSWORD')
正如您可以看到的,flask应用程序通过os.environ.get()获取您的电子邮件凭据,如果您在系统中临时设置此环境变量,在我的例子中,Mac OSX,在您的终端会话之后,这些环境变量将消失,因此您需要在下次进入终端时再次设置它们,如下所示:
export MAIL_USERNAME=**YOUR EMAIL**
export PASSWORD=**YOUR PASSWORD**
由于这种情况,我出现了这个错误,为了永久地设置它们,您需要将这些变量包含到主目录中的.bash\u profile文件中 做以下两件事来解决:
app.config['MAIL_USERNAME'] = 'youremail@gmail.com'
app.config['MAIL_PASSWORD'] = 'yourpassword'
您需要更改您的谷歌帐户设置。打开时,打开“允许不太安全的应用”选项 正如那一页所说: 某些应用程序和设备使用不太安全的登录技术,这会使您的帐户更容易受到攻击。您可以关闭这些应用的访问权限,我们建议您这样做,或者打开访问权限,如果您想使用这些应用,尽管存在风险
我通过运行
source~/.bash\u profile
,重新加载了我的文件。@ss\u百万富翁非常感谢你lol这些答案都对我无效,但是你的评论对我有效@谢申克斯。但下次重新加载时,它将不起作用comp@Humoyun嗯,那我怎么做才能让它一直保持下去呢
app.config['MAIL_USERNAME'] = os.environ.get('MAIL_USERNAME')
app.config['MAIL_PASSWORD'] = os.environ.get('MAIL_PASSWORD')
export MAIL_USERNAME=**YOUR EMAIL**
export PASSWORD=**YOUR PASSWORD**
app.config['MAIL_USERNAME'] = 'youremail@gmail.com'
app.config['MAIL_PASSWORD'] = 'yourpassword'