自建Postfix SMTP服务器邮件进垃圾邮箱问题求助
验证SPF记录的有效性
确保SPF记录精准匹配Postfix的发信IP,推荐使用严格模式的记录,例如v=spf1 ip4:你的服务器IP -all(避免用~all软失败规则)。可通过命令dig txt 你的域名查看记录内容,确认发信IP被包含在内,且记录格式无语法错误。确认DKIM签名实际生效
发送测试邮件至第三方邮箱(如Gmail),查看邮件原始内容中的DKIM-Signature字段,验证签名域名与你的发信域名一致。同时检查Postfix的DKIM配置:- 确认
opendkim服务正常运行:systemctl status opendkim - 检查
/etc/opendkim.conf中域名、密钥路径配置正确 - Postfix主配置
main.cf中已添加:smtpd_milters = unix:/var/run/opendkim/opendkim.sock non_smtpd_milters = unix:/var/run/opendkim/opendkim.sock
配置完成后重启Postfix:
systemctl restart postfix- 确认
配置反向DNS(PTR)记录
联系服务器提供商,为发信IP设置PTR记录,指向你的发信域名(如mail.yourdomain.com)。通过dig -x 你的服务器IP验证PTR记录是否生效,确保返回的域名与Postfix的HELO/EHLO域名一致。规范HELO/EHLO域名设置
修改Postfix主配置/etc/postfix/main.cf,明确设置:myhostname = mail.yourdomain.com smtp_helo_name = mail.yourdomain.com确保该域名有对应的A记录,且与PTR记录匹配,之后重启Postfix服务。
优化邮件内容与头部规范
- 确保
From地址域名与发信域名一致,避免使用无关联的陌生域名 - 避免邮件内容包含大量可疑链接、全大写文本、垃圾邮件常用话术
- 不要使用空白或过于夸张的邮件主题
- 确保
排查服务器开放中继风险
检查Postfix主配置main.cf中的smtpd_relay_restrictions,确保设置为:smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination防止服务器被用作开放中继,导致信誉受损。
利用测试工具定位问题
发送测试邮件至check-auth@verifier.port25.com,会收到自动生成的详细验证报告,其中包含SPF、DKIM、PTR等各项指标的检测结果,可根据报告精准修复问题。
内容的提问来源于stack exchange,提问作者smtp server

