【问题标题】:How come Django doesn't email me errors when my DEBUG = False?当我的 DEBUG = False 时,为什么 Django 不给我发电子邮件错误?
【发布时间】:2011-06-17 20:42:03
【问题描述】:
ADMINS = [("alex", "alex@mydomain.com"), ("matt", "matt@mydomain.com")]

DEBUG = False

为什么 Django 不给我发送错误邮件?我正确设置了电子邮件设置,其他一切都可以发送电子邮件。

EMAIL_HOST = "mail.blah.com"
EMAIL_PORT = 25
EMAIL_HOST_USER = "blah"
EMAIL_HOST_PASSWORD = "blah"
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = "blah@blah.com"

我想通过电子邮件收到所有发生的错误。 (尽管我到处都有自己的 try /except 块)。

【问题讨论】:

  • SERVER_EMAIL 设置为什么?如果它使用“root@localhost”默认值,它可能会被标记为垃圾邮件。
  • 你使用的是什么版本的 django?

标签: python django debugging email settings


【解决方案1】:

来自error-reporting 上的 django 文档:

默认情况下,Django 会发送电子邮件 来自 root@localhost。然而,有些 邮件提供商拒绝所有来自 这个地址。要使用不同的 发件人地址,修改 SERVER_EMAIL 设置。

也许这会对你有所帮助。

【讨论】:

    【解决方案2】:

    我发现可以帮助我在 django 中调试电子邮件子系统的一件事是一种将电子邮件内容(标题和所有内容)显示为标准输出的设置。我在下面进行了总结,但您也可以在 django 文档(下面的链接)中找到更多信息。不确定它是否会对您的情况有所帮助,但它可能有助于调试问题......帮助您查看正在发送的内容。

    在settings.py中设置如下

    EMAIL_HOST = "localhost"
    EMAIL_PORT = 1025
    

    运行以下命令来托管测试网络服务器

    python -m smtpd -n -c DebuggingServer localhost:1025
    

    Django 文档: http://docs.djangoproject.com/en/dev/topics/email/

    【讨论】:

    • 嗯,我的电子邮件发送得很好。我使用我的设置在任何地方发送电子邮件。只是没有触发管理员调试。
    猜你喜欢
    • 2018-04-16
    • 2019-05-04
    • 1970-01-01
    • 2013-11-21
    • 2021-10-30
    • 1970-01-01
    • 2020-06-25
    • 2021-08-29
    • 2016-05-02
    相关资源
    最近更新 更多