事情是这样的,我的服务器无法连接到 gmail SMTP,出现超时错误。我认为我的服务器上的 465 端口已关闭,所以我做了几件事,现在我的csf.config
文件有这两行:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2011,2222,8080"
TCP_OUT = "20,21,22,25,53,80,110,113,443,2011,2222,8080,465"
我搜索了 iptable 文件,发现465
有三个情况如下:
-A INPUT -p tcp -m tcp --dport 465 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A INPUT ! -i lo -p tcp -m state --state NEW -m tcp --dport 465 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 465 -j ACCEPT
当我运行netstat -tulpn
命令时,我得到了这个结果:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 158.58.184.42:53 0.0.0.0:* LISTEN 1938/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1938/named
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1552/sshd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1681/exim
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 9671/httpd
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 1505/dovecot
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 1505/dovecot
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1689/mysqld
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 1681/exim
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 1505/dovecot
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 1505/dovecot
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 9671/httpd
tcp 0 0 :::21 :::* LISTEN 1817/proftpd
tcp 0 0 :::22 :::* LISTEN 1552/sshd
tcp 0 0 :::25 :::* LISTEN 1681/exim
tcp 0 0 :::587 :::* LISTEN 1681/exim
tcp 0 0 :::2222 :::* LISTEN 1675/directadmin
udp 0 0 158.58.184.42:53 0.0.0.0:* 1938/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 1938/named
服务器 IP 为:158.58.184.42,SMTPS 端口 (465) 尚未开放!我该怎么办?
答案1
您的防火墙不是问题所在,一定是您的代码出了问题(因此,这不是适合询问的网站)。
你正在做的是允许传入连接到你的通过服务器的防火墙,端口 465 可以访问服务器。问题是,当你连接到 Gmail 时,你连接到的是他们的服务器。您服务器上的端口 465 与此无关。该活动中没有任何内容在端口 465 上建立入站连接你的服务器。
您找错了方向,打开这些端口并不能解决您的问题。
答案2
从“netstat -tulpn”的输出中可以看出,您有 RHEL 发行版、Exim smtp 和 Apache Web 服务器,因此您应该检查 /var/log/messages 文件以获取有关 tailf -f 命令问题的更多信息。如果您尝试通过 PHP 发送邮件,您还应该检查 httpd 日志文件(/var/log/httpd/error_log 或对于 vhosts,检查 httpd.conf 文件以查找 VirtualHost 范围下的路径)
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /www/docs/dummy-host.example.com ServerName dummy-host.example.com **ErrorLog logs/dummy-host.example.com-error_log** CustomLog logs/dummy-host.example.com-access_log common </VirtualHost>
正如以上帖子所解释的那样,这与传入防火墙规则无关。问题可能出在您的传出防火墙/iptables 中。这是完整的 iptables-save 命令输出吗?尝试
iptables -L OUTPUT 或 iptables-save | grep OUTPUT
检查您的网络接口和 /etc/resolv.conf 文件。您的服务器可能无法解析 smtp.google.com。尝试 ping smtp.google.com 或其他工具。
- 检查你的 exim 配置和日志以获取更多详细信息。/var/log/exim_mainlog