为啥我面临烧瓶邮件问题?

Posted

技术标签:

【中文标题】为啥我面临烧瓶邮件问题?【英文标题】:Why am I facing flask-mail issues?为什么我面临烧瓶邮件问题? 【发布时间】:2021-04-27 04:07:19 【问题描述】:

我不知道该怎么办

from flask import Flask
from flask_mail import Mail, Message

app = Flask(__name__)

with app.app_context():
    app.config['MAIL_SERVER'] = 'smtp.gmail.com'
    app.config['MAIL_PORT'] = 587
    app.config['MAIL_DEFAULT_SENDER'] = 'sender'
    app.config['MAIL_USERNAME'] = 'sender'
    app.config['MAIL_PASSWORD'] = '*************'
    app.config['MAIL_USE_TSL'] = True
    mail = Mail(app)
    mail.send_message('Mail sent', sender = 'sender', recipients = ['recipients'], body = 'Mail sent successfully')

它告诉我 smtplib.SMTPNotSupportedError: SMTP AUTH extension not supported by server 我什至在 gmail 中启用了来自不太安全的应用程序的电子邮件。为什么它似乎不起作用? 我已尝试查找错误,但尚未找到令人满意的答案。

编辑:我使用 SSL 而不是 TLS 进行加密,它似乎向我显示了一个不同的错误。现在它告诉我smtplib.SMTPSenderRefused: (530, b'5.7.0 Authentication Required. Learn more at\n5.7.0 https://support.google.com/mail/?p=WantAuthError 我不知道下一步该做什么。我不知道如何启用 DisplayUnlockCaptcha。 https://accounts.google.com/DisplayUnlockCaptcha 是它的链接。我继续链接所说的内容,它告诉“启用帐户访问 请尝试从您的新设备或应用程序再次登录您的 Google 帐户。”然后我重试了,仍然无法登录。

问题已解决!

【问题讨论】:

【参考方案1】:

有几种方法可以尝试,比如激活ssl

app.config['MAIL_PORT'] = 465
app.config['MAIL_USE_TLS'] = False
app.config['MAIL_USE_SSL'] = True

您不能同时启用tlsssl

您需要对您的 Gmail 帐户应用一系列设置,例如禁用 2FADisplay Unlock Captcha 等。

本教程概述了工作步骤。

https://twilio.com/blog/2018/03/send-email-programmatically-with-gmail-python-and-flask.html

【讨论】:

当我使用 SSL 时,第一个问题消失了,但现在它给了我一个不同的错误。 感谢 SSL 提示,在编辑中,我提到了我最近的错误。

以上是关于为啥我面临烧瓶邮件问题?的主要内容,如果未能解决你的问题,请参考以下文章

无法使用烧瓶邮件python将附件添加到邮件

烧瓶邮件异常

烧瓶邮件连接重置错误:[WinError 10054]

使用烧瓶+蓝图发送邮件

烧瓶邮件属性错误:“功能”对象没有属性“发送”

有啥方法可以在烧瓶邮件中命名附加的 pdf 文件?