【问题标题】:Flask-Mail not sending emails, no error is being reportedFlask-Mail 不发送邮件,没有报错
【发布时间】:2013-07-31 20:29:50
【问题描述】:

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

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

这里有什么想法吗?

【问题讨论】:

    标签: flask


    【解决方案1】:

    tbicr 有最可能的解决方法,请先检查 MAIL_SUPPRESS_SEND。

    最终让我感到恼火的是(对flask 的新手),当您实例化您的Mail() 对象时,请确保它 是在您设置了您的应用程序之后。配置值。 Mail() 对象不会在事后返回并查看这些值,因此它们将默认为错误值。令人沮丧的是,当您尝试使用默认/错误值发送消息时,您不会看到任何错误。至少在我发帖时没有。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

        • 这正是我的问题
        猜你喜欢
        • 2022-11-13
        • 1970-01-01
        • 1970-01-01
        • 2017-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多