2

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

这是代码

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

4

3 回答 3

2

看来我解决了我的问题,首先转到此页面以解锁 CAPTCHA

https://accounts.google.com/DisplayUnlockCaptcha

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

于 2016-01-08T14:31:24.757 回答
1

和穆斯塔法一样。

发现这个: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 的名称。

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

于 2020-12-05T04:15:06.217 回答
0

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

于 2020-04-05T17:25:38.900 回答