温馨提示×

Ubuntu邮件服务器的域名解析如何设置

小樊
31
2025-12-20 20:48:37
栏目: 云计算

Ubuntu 邮件服务器的域名解析设置

一 基础准备

  • 准备一个可公网访问的 Ubuntu Server(20.04+),并为其分配静态公网 IPv4
  • 将服务器主机名设为 FQDN:例如 mail.example.com,可用命令:sudo hostnamectl set-hostname mail.example.com
  • 在云厂商或域名注册商处开放邮件相关端口:25(SMTP)587(Submission)465(SMTPS)110(POP3)995(POP3S)143(IMAP)993(IMAPS)
  • 确保云安全组/本机防火墙放行上述端口,否则外部无法连接你的 MTA 或客户端。

二 必需 DNS 记录

  • 下表以域名 example.com、邮件主机名 mail.example.com、服务器公网 IP 203.0.113.10 为例(请替换为你的真实值):
记录类型 主机记录 值/目标 优先级 说明
A mail 203.0.113.10 将 mail 子域解析到你的邮件服务器
MX @ mail.example.com 10 指定负责 example.com 的邮件服务器
TXT(SPF) @ v=spf1 mx ip4:203.0.113.10 -all 仅允许本域 MX 和指定 IP 发信,其余拒绝
TXT(DMARC) _dmarc v=DMARC1; p=none; rua=mailto:postmaster@example.com 策略为 none(观测),用于收集报告
(可选)CNAME smtp / imap / pop3 mail.example.com 为客户端提供友好别名
  • 说明:
    • MX 的“主机记录”通常为 @(表示域根);A 记录指向 mail 子域
    • SPF 建议包含 mx服务器 IP,并使用 -all 严格拒绝未授权来源。
    • DMARC 初期可用 p=none 观察投递效果,再逐步收紧策略。

三 反向 DNS 与连通性

  • 向云服务商申请设置 PTR(反向 DNS):将你的服务器 203.0.113.10 反向解析为 mail.example.com。多数接收方 MTA 会检查 PTR 是否与 HELO/EHLO 主机名一致,不一致易被拒或判为垃圾。
  • 自检命令示例:
    • 正向解析:dig +short mx example.comdig +short a mail.example.com
    • 反向解析:dig -x 203.0.113.10 +short
    • 连通性:telnet mail.example.com 25openssl s_client -connect mail.example.com:465 -quiet
  • 25 端口被云厂商屏蔽(常见于部分云厂商),需改用其邮件网关或申请解封后再对外发信。

四 进阶记录与优化

  • DKIM(可选但强烈推荐):为你的域生成 DKIM 公钥,在 DNS 添加 TXT 记录(常见选择器为 default._domainkey),并在 MTA 启用 DKIM 签名,可显著提升到达率。
  • MTA-STS / TLS-RPT(可选):发布 _mta-sts.example.com_smtp._tls.example.com 策略,告知外部 MTA 你的服务器支持加密与上报。
  • BIND 自建 DNS(可选):如需自建权威 DNS,可在 Ubuntu 安装 BIND9 并配置 zone 文件转发器,用于托管你的域解析记录。

五 验证与排错

  • 解析与连通性自检:
    • host -t mx example.comhost -t a mail.example.com
    • dig +short txt example.com(检查 SPF)、dig +short txt _dmarc.example.com(检查 DMARC)
    • dig -x <你的IP> +short(检查 PTR)
  • 邮件日志与投递测试:
    • 查看日志:sudo tail -f /var/log/mail.log/var/log/mail.err
    • 发送测试邮件并观察是否进入收件箱或被拒收,结合日志定位问题。

0