Linux服务器如何配置邮件中继(Relay) 解决外网邮件屏蔽问题

酷墨酱_5253

酷墨酱_5253

2026-04-14

436人浏览

原创

postfix默认不能直接发外网邮件,必须配置relayhost中继至gmail等第三方smtp,并启用tls+sasl认证、正确设置sasl_passwd权限与dns解析。

linux服务器如何配置邮件中继(relay) 解决外网邮件屏蔽问题

Postfix 默认不发外网邮件,想让 mail 命令或脚本发出的邮件能到达 user@gmail.com 这类公网邮箱,必须显式配置中继(relayhost),靠本地投递或直连目标 MX 几乎必然失败——Gmail、Outlook 等服务商主动屏蔽来自云服务器 IP 段的直连 SMTP 请求。

为什么不能直接发到 gmail.com?

不是 Postfix 配错了,而是公网邮箱服务商(Gmail / Outlook / Yahoo)默认拒绝来自动态 IP、云主机段、无反向 DNS 或缺失 SPF 记录的 IP 的直连连接。你看到的 status=bounced (Host or domain name not found) 或 Connection timed out,大概率是被对方防火墙静默丢包,而非 DNS 或网络层问题。

真实原因常被误判,排查顺序应为:

  • 先确认 nslookup smtp.gmail.com 能返回 IP —— 否则 DNS 确实崩了
  • 再用 telnet smtp.gmail.com 587 测试端口可达性 —— 失败说明防火墙或网络策略拦了 outbound 587
  • 最后看 postqueue -p:如果邮件卡在队列里,且日志(journalctl -u postfix -n 30)出现 NOQUEUE: reject 但没提具体原因,90% 是 relayhost 未生效或 SASL 凭据权限不对

Postfix 中继必须配这三样

只改 main.cf 里的 relayhost 行远远不够。缺一不可:

  • relayhost = [smtp.gmail.com]:587 —— 方括号强制绕过 MX 查询,直连;端口必须匹配加密方式(587 对应 STARTTLS,465 对应 SSL)
  • smtp_sasl_auth_enable = yes 且 smtp_sasl_security_options = noanonymous —— 否则 Gmail 拒绝认证
  • smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt(Debian/Ubuntu)或 /etc/pki/tls/certs/ca-bundle.crt(RHEL/CentOS)—— TLS 握手需要可信 CA,否则报 SSL handshake failed

漏掉任意一项,Postfix 都会静默失败,日志里只有泛泛的 connect to smtp.gmail.com[...]: Connection timed out。

linux-performance-analyzer
linux-performance-analyzer

Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。

下载

sasl_passwd 权限和哈希是最大坑点

Postfix 读取 /etc/postfix/sasl_passwd 时,对文件权限极其敏感:必须是 root 所有、600 权限,且不能是符号链接。哪怕只是 chmod 644,它就直接跳过认证,不报错也不提示。

正确操作流程:

  • 写入凭证:echo "[smtp.gmail.com]:587 your.name@gmail.com:your_app_password" > /etc/postfix/sasl_passwd
  • 生成哈希:postmap /etc/postfix/sasl_passwd(会生成 sasl_passwd.db)
  • 收紧权限:chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
  • 重载配置:systemctl reload postfix

常见错误:用普通用户编辑文件、忘记 postmap、或把密码写成 Gmail 登录密码(必须是两步验证后生成的“应用专用密码”)。

测试中继是否真生效

别只信 echo "test" | mail -s "hi" user@gmail.com 是否“没报错”——它可能把邮件塞进队列就返回了。真正验证要分两步:

  • 立刻查队列:mailq 或 postqueue -p。如果队列为空,说明邮件已尝试投递;如果有条目,说明卡在 relay 环节
  • 盯日志:tail -f /var/log/mail.log | grep -i "gmail\|relay\|sasl"。成功发送会看到类似 status=sent (250 2.0.0 OK ...);失败则暴露在哪一步断开(DNS、连接、认证、TLS)

最易忽略的是时间偏差:若系统时间比真实时间快/慢超过 5 分钟,Gmail 会直接拒绝 TLS 握手,日志只显示 SSL_connect error,不提时间问题。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux linux服务器

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

889

5

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.25

2440

5

SSL检测工具介绍
SSL检测工具介绍

SSL检测工具有SSL Labs、SSL Check、SSL Server Test、SSLMate、SSL/TLS Analyzer等。详细介绍:1、SSL Labs是一个由Qualys提供的在线SSL检测工具,可以评估服务器证书的部署情况、加密套件、协议支持等方面的安全性,它提供了一个详细的报告,包括证书的颁发者、有效期、安全性配置等;2、SSL Check等等。

2023.10.20

690

3

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3710

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3213

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2293

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5490

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5142

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3073

8

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习