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

Django部署GCP App Engine用SendGrid发重置密码邮件报NET::ERR_CERT_COMMON_NAME_INVALID错误

问题根因

你遇到的NET::ERR_CERT_COMMON_NAME_INVALID错误,核心诱因就是你观察到的证书归属*.sendgrid.net的现象:SendGrid默认开启了点击链接跟踪功能,会把邮件内所有原始链接替换为SendGrid的跳转域名,如果你完成链接品牌化后没有为自定义跳转域名配置SSL证书,访问时就会出现证书通用名称不匹配的报错。

解决方案

按优先级依次排查调整:

  • 第一步:配置SendGrid链接品牌化的SSL证书
    仅完成域名认证和链接品牌化配置不足以解决问题,你需要进入SendGrid后台的链接品牌化设置页,开启自定义域名的SSL功能:可选择SendGrid提供的免费自动SSL(需确保你配置的跳转域名DNS解析已正确指向SendGrid),也可自行上传对应域名的有效SSL证书,待证书生效后跳转链接的证书会自动替换为你自有域名的证书。
  • 第二步:按需关闭SendGrid点击跟踪功能
    如果你不需要跟踪邮件链接点击数据,可直接关闭该功能避免链接被替换:
    1. 全局关闭:进入SendGrid后台「设置-跟踪设置」,禁用「点击跟踪」选项即可
    2. 仅针对密码重置类邮件关闭:发邮件时添加SMTP自定义头 X-SMTPAPI: {"filters": {"clicktrack": {"settings": {"enable": 0}}}},这类邮件的链接就不会被替换为SendGrid跳转链接
  • 第三步:确认Django生成的重置链接域名正确
    你模板中使用的{{ domain }}变量默认取自Django的Site框架,需登录Django后台确认Site配置中的域名是你实际使用的业务域名,而非默认的example.com;如果未启用Site框架,可在密码重置视图中手动传入domain参数,或直接把模板中的{{ domain }}替换为你的固定业务域名。
  • 第四步:验证GCP App Engine自定义域名证书有效性
    确认你在GCP App Engine控制台已经为绑定的自定义域名配置了有效SSL证书,App Engine提供的免费托管证书会自动签发,只要你的域名DNS解析正确指向App Engine即可生效。

你现有settings.py中的HTTPS、ALLOWED_HOSTS相关配置均无问题,无需调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 13:06:04