Ubuntu系统PostFix无法连接smtp.gmail.com的问题咨询
Ubuntu系统PostFix无法连接smtp.gmail.com的问题咨询
看起来你碰到了Postfix发往Gmail时的连接难题,咱们来一步步梳理可能的原因和解决方向:
最大概率:25端口被封禁
很多VPS服务商或者运营商为了遏制垃圾邮件,会默认封禁服务器出站的25端口。你用telnet smtp.gmail.com 25连不上,发邮件时连Gmail的收件服务器gmail-smtp-in.l.google.com的25端口也超时,这完全符合25端口被封的表现。你可以先测试下非25的SMTP端口,比如Gmail的587加密端口:telnet smtp.gmail.com 587如果这个能正常连接,那基本实锤是25端口被封了。这种情况要么联系你的VPS提供商申请解封,要么改用其他端口来转发邮件。
本地防火墙/iptables限制
检查下Ubuntu系统的防火墙规则,比如用ufw status看看有没有禁止出站25端口的规则;或者用iptables -L -n排查iptables里的限制。如果有相关的拒绝规则,调整后重启防火墙再试试。Postfix配置的潜在问题
虽然从日志看本地投递是正常的,但也可以检查下/etc/postfix/main.cf里的relayhost配置。如果没设置中继主机,Postfix会直接尝试连接目标邮箱的25端口,一旦端口被封就会超时。如果确认是25端口被封,可以配置Postfix使用Gmail的587端口作为中继,步骤大概是:- 在
main.cf里添加以下配置:relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_security_options = noanonymous smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd - 创建
/etc/postfix/sasl_passwd文件,内容为:
(注意:如果你的Gmail开启了两步验证,需要用应用密码而非普通密码)[smtp.gmail.com]:587 your-gmail-account@gmail.com:your-app-password - 执行
postmap /etc/postfix/sasl_passwd生成哈希映射文件 - 重启Postfix服务:
systemctl restart postfix
- 在
备注:内容来源于stack exchange,提问作者user1004201
相关产品推荐
相关产品推荐

