Django配置SendGrid后发送邮件出现SMTP Data Error如何解决
你遇到的SMTP Data Error问题,核心诱因确实是Django默认发件人配置未覆盖导致的。Django默认发件人地址为webmaster@localhost,SendGrid不会认可这个非验证地址的发信请求,会直接拒绝数据提交返回报错。
修复方法
1. 增加全局发件人配置
在你的settings.py中补充以下配置,将发件人替换为你在SendGrid后台完成过域名/单地址验证的有效邮箱:
# 普通业务邮件默认发件人 DEFAULT_FROM_EMAIL = '已验证的发件人邮箱,例如no-reply@你的域名.com' # 系统告警类邮件默认发件人,保持和上方一致即可 SERVER_EMAIL = DEFAULT_FROM_EMAIL
2. 检查发信代码的参数
如果你的发信代码中手动指定了from_email参数,需要确保这个参数的值同样是在SendGrid验证过的地址,不能使用未验证的邮箱、或者默认的webmaster@localhost地址。
异常排查
如果配置完成后仍存在报错,可以按以下顺序核查:
- 确认你填写的SendGrid API Key权限正常,已经开通了邮件发送权限,没有过期或被限制
- 确认发件人对应的域名/邮箱在SendGrid后台已经完成验证,没有处于待验证状态
- 检查发送的邮件是否存在主题为空、正文为空、收件人地址无效这类基础问题
内容的提问来源于stack exchange,提问作者Jordan Rob
相关产品推荐
相关产品推荐

