Django:为 EMAIL_HOST 强制使用 ipv4? (GMail: 421, '4.7.0 稍后再试,关闭连接')

问题描述

如果我尝试通过 settings.EMAIL_HOST 使用 Django 发送邮件,我会收到此错误

(421,'4.7.0 稍后再试,关闭连接。')

我找到了解决方法 (GMail 421 4.7.0 Try again later,closing connection)

如果我使用 IPv4 连接(而不是 IPV6),它就可以工作。

EMAIL_HOST = '64.233.184.108'

但这只是一种解决方法,我想有一个解决方案。因为如果google更改了smtp服务器的IP,我的解决方案就会失败。

当我使用它时,如何告诉 Django 或 Python 使用 IPv4?

EMAIL_HOST = 'smtp.gmail.com'

认情况下,我的系统使用 ipv6,然后 Google 认为我是垃圾邮件发送者并用“(421,'4.7.0 Try again later,closed connection.')”阻止我

解决方法

我的 IPv6 反向 DNS 无法解析。这就是问题所在。

将我的 ipv6 地址添加到 DNS 后一切正常。

大“谢谢!”致@Melvyn!