【问题标题】:Sending error triggered emails to selected admins only仅将触发错误的电子邮件发送给选定的管理员
【发布时间】:2014-12-11 19:34:49
【问题描述】:

当服务器上发生 500 错误时,django 会自动向所有管理员发送电子邮件。这是一个很棒的功能,但是如果某些管理员想要退出怎么办?管理员是否可以选择是否希望 django 在发生错误时向他们发送电子邮件?无论如何,服务器正在记录所有错误,并且当所有管理员登录到站点时,他们都可以修改数据。

【问题讨论】:

    标签: django django-errors


    【解决方案1】:

    在 Django 1.8 中,将能够在发生错误时覆盖谁接收电子邮件。在早期的 Django 版本中也可以,但代码会更丑。

    Django 使用 Python 的日志框架发送错误电子邮件,并且可以自定义 (see documentation)。特别是处理程序具有以下方法:

    send_mail(subject, message, *args, **kwargs): 向管理员用户发送电子邮件。要自定义此行为,您可以继承 AdminEmailHandler 类并覆盖此方法。

    这会调用django.core.mail.mail_admins,默认情况下会向settings.ADMINS 中的所有条目发送电子邮件。相反,您需要使用django.core.mail.send_mail 来自定义您希望向谁发送电子邮件(即,使用settings.ADMINS,应用过滤并根据需要使用收件人列表自己致电send_maiL)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-30
      • 1970-01-01
      • 2016-01-07
      • 1970-01-01
      • 1970-01-01
      • 2011-03-17
      • 1970-01-01
      • 2010-11-27
      相关资源
      最近更新 更多