【发布时间】:2013-07-31 20:29:50
【问题描述】:
所有,我正在尝试设置烧瓶邮件以在用户注册时向我的电子邮件发送通知。 我没有从用于发送电子邮件的脚本中收到任何错误消息,但实际上没有发送任何内容,或者至少没有收到任何内容。
是否有一个日志文件可以显示电子邮件是否已发送、被拒绝,或者是否存在登录服务器的问题?如何解决这个问题?
这里有什么想法吗?
【问题讨论】:
标签: flask
所有,我正在尝试设置烧瓶邮件以在用户注册时向我的电子邮件发送通知。 我没有从用于发送电子邮件的脚本中收到任何错误消息,但实际上没有发送任何内容,或者至少没有收到任何内容。
是否有一个日志文件可以显示电子邮件是否已发送、被拒绝,或者是否存在登录服务器的问题?如何解决这个问题?
这里有什么想法吗?
【问题讨论】:
标签: flask
tbicr 有最可能的解决方法,请先检查 MAIL_SUPPRESS_SEND。
最终让我感到恼火的是(对flask 的新手),当您实例化您的Mail() 对象时,请确保它 是在您设置了您的应用程序之后。配置值。 Mail() 对象不会在事后返回并查看这些值,因此它们将默认为错误值。令人沮丧的是,当您尝试使用默认/错误值发送消息时,您不会看到任何错误。至少在我发帖时没有。
【讨论】:
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 一样,确保将app.testing 设置为False。正如Flask-Maildocs here 中所述:
“如果设置TESTING 设置为True,电子邮件将被禁止发送。对您的消息调用send() 不会导致任何消息被实际发送。”
这正是我的问题。我在我的一个表单中实施了 Google reCAPTCHA,app.testing 设置为 True,所以我不必每次都点击 reCAPTCHA 框。通过删除app.testing 或将其设置为False,可以发送电子邮件。
【讨论】: