You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django Logging告警邮件未送达其余邮件发送正常问题咨询

Django AdminEmailHandler 邮件被Gmail拒收原因及解决方案

核心原因

  • 反垃圾规则匹配:AdminEmailHandler发送的告警邮件有固定特征:默认携带X-Django-Logger专用头、内容包含大量代码堆栈、错误日志等特殊字符,重复发送时内容相似度极高,极易触发Gmail反垃圾策略。而普通业务邮件内容场景更合规,Gmail对其校验容错度更高,因此不会被拦截。
  • HTML内容违规:你配置了include_html: True,AdminEmailHandler自动生成的HTML告警邮件包含大量内联样式、自动生成的跳转链接,不符合Gmail HTML邮件规范,被判定为恶意内容直接拒收。
  • 域名校验容错差:如果你的发件域名没有配置SPF、DKIM解析,本身发信信任度偏低,内容风险更高的告警邮件会优先被拦截,普通业务邮件因为内容风险低,即使校验不完全通过也可能正常投递。

快速修复方案

  1. 先将include_html参数改为False,测试纯文本告警邮件是否能正常送达
  2. 给告警邮件添加自定义标题前缀,避免和通用垃圾邮件模板匹配,修改后的配置参考:
LOGGING = {
    'version': 1,
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'class': 'django.utils.log.AdminEmailHandler',
            'include_html': False,
            'email_subject_prefix': '[你的业务名生产告警] '
        },
    },
    'loggers': {
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': False,
        },
    }
}
  1. 将告警收件人账号添加到发件人的联系人列表,降低反垃圾规则权重。

拦截邮件查询方式

如果你使用的是Google Workspace企业账号,可以登录管理员账号,在「管理控制台 > 应用 > Google Workspace > Gmail > 电子邮件日志搜索」中查询最近30天的所有邮件流转记录,包含被拒收、投递失败、判定为垃圾邮件的具体拦截原因。
个人Gmail账号不会留存被拒收的邮件,也没有对应的查询入口。

内容的提问来源于stack exchange,提问作者1D0BE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 00:39:02