打算自行搭建邮件服务器,很多人的第一反应就是这件事麻烦。网上教程堆砌一堆专业名词,Postfix、Dovecot、DKIM、SPF、DMARC,光看到这些术语就不想继续看。拆解完整流程之后会发现,难度没有想象中高。一套可以正常收发邮件的服务器,核心就是安装配套软件,调整配置参数,域名添加多条解析记录。服务器与域名都准备妥当,半天时间基本能够搭建完成。
先确认基础条件。需要一台带有公网IP的Linux服务器,Ubuntu或者Debian系统都可以。25端口支持出站访问是硬性要求,部分云厂商默认封禁25端口,购买服务器前确认能否解封,端口无法开放,邮件无法对外发送。提前准备域名,并且可以自主修改DNS解析,后续MX、SPF、DKIM记录都要在这里配置。还有容易忽略的一点,服务器IP最好配置反向解析也就是PTR记录,一般提交工单联系云服务商添加,缺少PTR记录,外发邮件被拒收的概率会明显上升。

软件方面,经典组合是Postfix搭配Dovecot。Postfix负责邮件收发,承担MTA角色;Dovecot存储收到的邮件,支持IMAP、POP3协议,让邮件客户端读取邮件。两套软件搭配就能覆盖基础需求。Ubuntu系统执行apt install postfix dovecot-core dovecot-imapd即可完成安装。Postfix安装阶段弹出配置窗口,选择Internet Site,系统邮件名称填写域名,后续再精细调整。
Postfix配置文件路径为/etc/postfix/main.cf,修改几项核心参数。myhostname填写邮件服务器主机名,类似mail.你的域名。mydomain填写域名。myorigin设置为$mydomain。inet_interfaces设置all,否则仅监听本地访问。mydestination添加域名,让系统识别该域名的邮件交由自身处理。还有mynetworks,仅信任本机地址,默认配置网段范围过大,不修改会变成开放中继,被他人用来发送垃圾邮件。
Dovecot配置文件存放在/etc/dovecot/dovecot.conf和/etc/dovecot/conf.d/目录。主要做两项配置,开启IMAP、POP3协议,配置邮件存储目录。默认Maildir存储格式无需改动。配置SSL证书,使用Let's Encrypt免费证书,当前邮件客户端拒绝未加密连接。Dovecot的SSL配置填入证书路径,重启服务生效。
DNS解析环节重要程度超过软件安装。MX记录指向邮件服务器主机名,优先级填写10。A记录把mail.你的域名指向服务器IP。SPF是一条TXT记录,内容v=spf1 mx ~all,含义是只有MX服务器允许使用该域名发送邮件。DKIM需要生成密钥对,公钥写入DNS的TXT记录,私钥留在服务器交由Postfix或Dovecot调用。DMARC同样添加TXT记录,主机记录填写_dmarc.你的域名,内容v=DMARC1; p=none; rua=mailto:你的邮箱,先设置none模式观察一段时间,确认没问题再调整为quarantine或者reject。
解析记录添加完成,等待DNS生效,耗时半小时到数小时。生效后使用dig命令核验记录返回状态。使用外部邮箱,比如QQ邮箱或者Gmail,向自建域名邮箱发送邮件,测试收件功能;再从自建服务器向外发送邮件,测试外发。双向收发正常,基础搭建就完成了。
后续收尾工作。创建邮箱账号,Dovecot可以用doveadm pw生成密码,手动创建用户目录,也可以部署PostfixAdmin这类网页管理面板管理账号,网页界面更适合新手,增删邮箱不用命令行操作。邮件客户端配置,IMAP服务器填写mail.你的域名,993端口启用SSL;SMTP填写相同地址,587端口启用STARTTLS,账号密码就是服务器创建的邮箱账号。
日常维护,日志文件路径/var/log/mail.log,收发邮件异常优先查看日志。mailq查看邮件队列,卡住的邮件执行postqueue -f重试。垃圾邮件问题无法避免,可以部署SpamAssassin做内容过滤,搭配灰名单拦截垃圾邮件。这些属于优化项目,首要目标是保证邮件正常收发。
自建邮件服务器最大优势是完全自主可控。域名属于自己,邮件数据存储在服务器硬盘,邮箱数量不受平台限制。难点在于IP与域名信誉积累,全新IP、新域名首次发信,很容易进入收件箱垃圾箱,只能长期规范发信,不批量群发,慢慢提升信誉。如果需要大量发送营销邮件,自建服务器性价比不高,选用专业邮件发送服务商更合适。自建方案适合日常通信、业务通知这类邮件量不大,要求长期稳定的场景。