1.1 购买台湾VPS并记录公网IPv4(示例:1.2.3.4),确认提供商支持设置反向DNS(PTR)。1.2 购买域名(示例:example.com),并能在域名控制面板新增或修改DNS记录。1.3 准备用于登录的root或sudo账号,建议使用Ubuntu/Debian 20.04+或CentOS 8+。
2.1 将VPS主机名设置为邮件主机名,如 mail.example.com:sudo hostnamectl set-hostname mail.example.com。2.2 在/etc/hosts加入:1.2.3.4 mail.example.com mail,确保本机解析一致。2.3 确保系统时间正确(ntp或timesyncd),否则会影响TLS证书与反垃圾。
3.1 更新系统并安装:sudo apt update && sudo apt install -y postfix dovecot-core dovecot-imapd opendkim opendkim-tools。3.2 Postfix 基本配置(/etc/postfix/main.cf)重要字段:myhostname = mail.example.com;myorigin = /etc/mailname;mydestination = localhost, example.com;inet_interfaces = all;mynetworks = 127.0.0.0/8;smtpd_tls_cert_file 与 smtpd_tls_key_file 指向证书。3.3 Dovecot 只启用必要协议(imap、lmtp),并配置邮件目录(Maildir)和认证方式。
4.1 使用certbot获取证书:sudo apt install certbot && sudo certbot certonly --standalone -d mail.example.com。4.2 配置Postfix/Dovecot使用证书文件(/etc/letsencrypt/live/mail.example.com/fullchain.pem 与 privkey.pem)。4.3 防火墙开放端口:TCP 25、465(可选)、587(submission)、143/993(IMAP);示例:sudo ufw allow 25,587,993/tcp。
5.1 在域名管理面板添加A记录:mail.example.com -> 1.2.3.4。5.2 添加MX记录(优先级10):example.com MX 10 mail.example.com。5.3 添加SPF TXT记录:example.com TXT "v=spf1 ip4:1.2.3.4 -all"(如有第三方发送服务,改为 include:service.com)。5.4 配置OpenDKIM:生成密钥 sudo opendkim-genkey -s mail -d example.com,公钥在 mail._domainkey.example.com 的TXT记录中添加格式 v=DKIM1; k=rsa; p=(公钥)。并在Postfix中启用milter。5.5 添加DMARC记录:_dmarc.example.com TXT "v=DMARC1; p=quarantine; rua=mailto:postmaster@example.com; ruf=mailto:forensics@example.com; pct=100"。5.6 PTR(反向DNS)必须由VPS提供商在其控制面板或工单设置为 mail.example.com 指向 1.2.3.4,且PTR解析结果应与Postfix myhostname匹配。
6.1 检查DNS生效:使用 dig 或 nslookup,例如 dig A mail.example.com;dig MX example.com;dig TXT _dmarc.example.com。6.2 测试SMTP连接:telnet mail.example.com 25(或使用 swaks --to test@destination.com --server mail.example.com:587 --auth LOGIN)。6.3 检查邮件头部SPF/DKIM/DMARC结果,使用外部服务如 mail-tester.com 或 MXToolbox。6.4 若被列入黑名单或发送失败,先检查PTR是否正确、IP是否在Spamhaus等黑名单,查看Postfix日志 /var/log/mail.log 并修复被拒绝原因。
问:为什么必须设置PTR反向DNS?
答:许多收件方(尤其是大型邮箱提供商)会验证发件IP的PTR是否反向解析到邮件主机名且与EHLO/HELO一致,若不一致会被标为可疑或直接拒收。由于PTR只能由IP提供方设置,必须向台湾VPS供应商在控制面板或提交工单设置正确的反向域名。
问:SPF、DKIM、DMARC的推荐策略如何设置?
答:SPF建议先使用 ~all(软失败)试运行,然后改为 -all(严格)一段时间后。DKIM必须为每个发送域签名并在DNS公布公钥。DMARC建议先设置 p=none 收集报告(rua)观察,再改为 quarantine 或 reject。逐步严格可防误判。
问:如何验证邮件系统已正确配置并能稳定投递?
答:使用多项测试:1)dig/nslookup 验证A/MX/TXT/DKIM记录;2)telnet或swaks测试SMTP握手与TLS;3)发邮件到外部邮箱查看是否进入收件箱并检查邮件头的 SPF/DKIM/DMARC 结果;4)使用mail-tester.com评估分数并根据建议调整;5)定期检查黑名单,并监控退信与报表(DMARC rua)。