防火墙阻止外发电子邮件

防火墙阻止外发电子邮件

在运行 Django 网站的 Debian 服务器上,当我需要发送电子邮件时出现错误。

收到的错误是

异常类型:gaierror 异常值:

[Errno -2] 名称或服务未知

异常位置:/usr/lib/python2.6/socket.py 中的 create_connection,第 547 行

您可以查看完整的错误日志这里

经过测试,似乎是我的防火墙阻止了该请求。您可以看到我的iptable 文件(/etc/init.d/firewall)。我认为问题出在两条注释行上,它们本来应该接受所有已建立的连接。

当我取消注释它们时,出现错误iptables: No chain/target/match by that name.

谢谢

答案1

似乎您的服务器上的 DNS 或 Django 配置中的主机名有错误。

检查 settings.py 中的 EMAIL_HOST。如果没有明确设置,则它等于 localhost。如果域似乎没问题(存在或等于 localhost),则问题在于 DNS 解析(DNS 服务器无法正常工作或您的防火墙阻止与其连接)。

为了确保问题在防火墙内,请将 INPUT、FORWARD 和 OUTPUT 链的默认策略设置为 ACCEPT:

iptables -t filter -P INPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t filter -P OUTPUT ACCEPT

并检查问题是否仍然存在。

相关内容