所有,我正在尝试设置烧瓶邮件以在用户注册时向我的电子邮件发送通知。我没有从用于发送电子邮件的脚本中收到任何错误消息,但实际上没有发送任何内容,或者至少没有收到任何内容。
是否有一个日志文件可以显示电子邮件是否已发送、被拒绝,或者是否存在登录服务器的问题?这个问题怎么上轨道?
这里有什么想法吗?
所有,我正在尝试设置烧瓶邮件以在用户注册时向我的电子邮件发送通知。我没有从用于发送电子邮件的脚本中收到任何错误消息,但实际上没有发送任何内容,或者至少没有收到任何内容。
是否有一个日志文件可以显示电子邮件是否已发送、被拒绝,或者是否存在登录服务器的问题?这个问题怎么上轨道?
这里有什么想法吗?
Flask-Email
使用smtplib
可以设置调试级别:https ://github.com/mattupstate/flask-mail/blob/master/flask_mail.py#L139 。您可以使用MAIL_DEBUG = True
或进行设置DEBUG = True
。还要检查MAIL_SUPPRESS_SEND = False
和TESTING = False
。
通过调试,我可以看到stdout
邮件进度:成功、失败、收件人等。
查看详细信息:http: //pythonhosted.org/Flask-Mail/#configuring-flask-mail。
tbicr 最有可能修复,首先检查 MAIL_SUPPRESS_SEND。
最终让我感到痛苦的是(对于烧瓶来说是新手),当您实例化 Mail() 对象时,请确保它是在您设置 app.config 值之后。Mail() 对象不会在事后返回并查看这些值,因此它们将默认为错误值。令人沮丧的是,当您尝试使用默认/错误值发送消息时,您不会看到任何错误。至少在我发帖时不是。
我知道这篇文章是不久前的,但我遇到了同样的问题。就像提到的@tbicr 一样,请确保将app.testing
其设置为False
. 正如它在此处Flask-Mail
的文档中所述:
“如果设置TESTING
为True
,电子邮件将被禁止。调用send()
您的消息不会导致任何消息被实际发送。”
这正是我的问题。我在我的一个表单中实施了 Google reCAPTCHA,并将其app.testing
设置为,True
因此我不必每次都点击 reCAPTCHA 框。通过删除app.testing
或 将其设置为False
,可以发送电子邮件。