Flask-Mail 尝试连接到 Gmail 时超时

Posted

技术标签:

【中文标题】Flask-Mail 尝试连接到 Gmail 时超时【英文标题】:Flask-Mail times out trying to connect to Gmail 【发布时间】:2016-01-08 11:47:31 【问题描述】:

我有一个非常小的烧瓶应用程序,它使用烧瓶邮件发送电子邮件,但是当我运行它时,什么都没有发生,没有错误,没有异常,没有!

这是代码

from flask import Flask
from flask_mail import Mail, Message

app = Flask(__name__)

DEBUG = True
MAIL_SERVER = 'smtp.gmail.com'
MAIL_PORT = 465
MAIL_USE_TLS = False
MAIL_USE_SSL = True
MAIL_DEBUG = True
MAIL_USERNAME = "myemail@gmail.com"
MAIL_PASSWORD = "mypassword"

app.config.from_object(__name__)

mail = Mail(app)

@app.route("/")
def send_mail():
    msg = Message("Hello",
                  sender="myemail@gmail.com",
                  recipients=["another_email@gmail.com"],
                  body="just testing",
                  )
    mail.send(msg)
    return "Message sent"
if __name__ == '__main__':
    app.run()

更新

很长一段时间后我得到了这个错误 TimeoutError: [Errno 110] Connection timed out

【问题讨论】:

似乎与 gmail 的连接根本无法正常工作,还没有检查您的密码的意义。这个系统可以连接到gmail吗?谷歌还列出了对用户 ID 的一些要求,比如通过了验证码,你检查了吗? support.google.com/a/answer/176600?hl=en @barny shell 中没有显示任何内容,而且我刚刚创建了一个新的 Gmail 帐户,我没有遇到任何 CAPATCHA OK 验证码可能是问题所在 - 使用例如chrome 要使用您要使用的电子邮件 ID 登录 gmail.com,您必须验证 ID,才能看到该 ID 的电子邮件。然后尝试再次运行脚本。 @barny 我解决了我的问题,感谢您的时间 【参考方案1】:

看来我解决了我的问题 首先到这个页面 解锁验证码

https://accounts.google.com/DisplayUnlockCaptcha

然后转到此页面以允许从不太安全的应用程序访问 https://www.google.com/settings/security/lesssecureapps

【讨论】:

【参考方案2】:

和穆斯塔法一样。

找到这个:https://www.linode.com/docs/guides/running-a-mail-server/

在 Linode 上发送电子邮件

为了打击垃圾邮件,Linode 对 2019 年 11 月 5 日之后创建的新帐户限制了所有 Linode 上端口 25、465 和 587 上的出站连接。

如果您需要从 Linode 发送邮件,我们要求您首先为您计划用于发送邮件的任何 Linode 配置 (1) 有效的 DNS A 记录和 (2) rDNS 记录。然后,从 Linode 管理器打开支持票证——我们会要求您提供将用于邮寄的 Linode 的名称。

在您完成这些步骤并提供该信息后,我们的支持团队将很乐意审核您的请求。

【讨论】:

【参考方案3】:

我尝试了 Ali Faki 建议的解决方案,但它对我没有用,但是当我进一步尝试(检查问题所在的简单代码)时,结果发现邮件端口被云服务提供商(Linode在我的情况下),您必须设置一个域名并联系他们才能再次打开它。

【讨论】:

以上是关于Flask-Mail 尝试连接到 Gmail 时超时的主要内容,如果未能解决你的问题,请参考以下文章

配置 Flask-Mail 以使用 GMail

Flask-Mail 未使用 Gmail 和应用密码进行身份验证

尝试连接到 gmail IMAP 服务器时出现 javax.mail.MessagingException

使用flask-mail通过gmail发送电子邮件

如何从 perl 连接到 gmail?

无法使用 Java 连接到我的 Gmail 收件箱