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

Django: Force ipv4 for EMAIL_HOST? (GMail: 421, '4.7.0 Try again later, closing connection.')

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

(421, '4.7.0 Try again later, closing connection.')

我找到了解决方法 (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 稍后重试,关闭连接。')”阻止我。=15= ]

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

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

大大的“谢谢!”致@Melvyn!