14

所有,我正在尝试设置烧瓶邮件以在用户注册时向我的电子邮件发送通知。我没有从用于发送电子邮件的脚本中收到任何错误消息,但实际上没有发送任何内容,或者至少没有收到任何内容。

是否有一个日志文件可以显示电子邮件是否已发送、被拒绝,或者是否存在登录服务器的问题?这个问题怎么上轨道?

这里有什么想法吗?

4

3 回答 3

31

Flask-Email使用smtplib可以设置调试级别:https ://github.com/mattupstate/flask-mail/blob/master/flask_mail.py#L139 。您可以使用MAIL_DEBUG = True或进行设置DEBUG = True。还要检查MAIL_SUPPRESS_SEND = FalseTESTING = False

通过调试,我可以看到stdout邮件进度:成功、失败、收件人等。

查看详细信息:http: //pythonhosted.org/Flask-Mail/#configuring-flask-mail

于 2013-08-01T05:31:32.397 回答
5

tbicr 最有可能修复,首先检查 MAIL_SUPPRESS_SEND。

最终让我感到痛苦的是(对于烧瓶来说是新手),当您实例化 Mail() 对象时,请确保它是您设置 app.config 值之后。Mail() 对象不会在事后返回并查看这些值,因此它们将默认为错误值。令人沮丧的是,当您尝试使用默认/错误值发送消息时,您不会看到任何错误。至少在我发帖时不是。

于 2016-11-23T23:42:09.143 回答
4

我知道这篇文章是不久前的,但我遇到了同样的问题。就像提到的@tbicr 一样,请确保将app.testing其设置为False. 正如它在此处Flask-Mail的文档中所述:

“如果设置TESTINGTrue,电子邮件将被禁止。调用send()您的消息不会导致任何消息被实际发送。”

这正是我的问题。我在我的一个表单中实施了 Google reCAPTCHA,并将其app.testing设置为,True因此我不必每次都点击 reCAPTCHA 框。通过删除app.testing或 将其设置为False,可以发送电子邮件。

于 2017-05-09T02:03:53.820 回答