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 和应用密码进行身份验证