Postfix SMTP服务器无法发信:连接超时与中继访问被拒
解决方法
一、解决连接超时问题
- 更换SMTP端口:多数ISP会封禁25端口,改用587(STARTTLS)或465(SSL/TLS)端口。修改
/etc/postfix/main.cf,添加或调整:relayhost = [smtp.gmail.com]:587 # 若用465端口则改为:relayhost = [smtp.gmail.com]:465 - 确认网络端口限制:如果是VPS,联系服务商确认是否解封25端口;家用网络几乎都会被ISP封禁25端口,必须依赖外部中继。
- 启用外部中继:由于IP已被拉黑,即使端口打通,邮件也会被拒收,配置外部中继是核心解决方案。
二、解决中继访问被拒问题
该问题本质是Postfix未获得发送外部邮件的授权,结合IP拉黑情况,最优方案是配置外部SMTP中继,以Gmail为例:
- 准备Google应用专用密码:开启Google账户两步验证后,生成应用专用密码。
- 修改Postfix主配置:在
/etc/postfix/main.cf中添加以下配置:relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes smtp_tls_security_level = encrypt smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous - 创建认证文件:新建
/etc/postfix/sasl_passwd,写入:[smtp.gmail.com]:587 your-gmail-account@gmail.com:你的应用专用密码 - 生成哈希文件并重启服务:
postmap /etc/postfix/sasl_passwd chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db systemctl restart postfix - 清理邮件队列:执行
postsuper -d ALL清空积压的错误邮件,避免重复重试。
三、处理IP拉黑问题
- 提交黑名单移除申诉:
- 前往Barracuda官方申诉页面,填写IP、联系邮箱等信息,说明情况请求移除。
- 针对RATS Dyna黑名单,找到对应平台的申诉入口提交移除请求。
- 更换IP地址:若申诉失败,联系VPS服务商更换IP;家用网络可重启路由器尝试获取新的公网IP。
验证测试
配置完成后,执行以下命令测试发信:
echo "测试邮件内容" | mailx -s "测试主题" -a "FROM:mail@<mydomain.com>" <receiver@gmail.com>
通过mailq命令查看队列状态,或检查收件邮箱是否收到测试邮件。
内容的提问来源于stack exchange,提问作者martanezo7
相关产品推荐
相关产品推荐

