第三方邮件服务用久了,问题往往在团队变大之后才冒出来。发信量上去了,模板通知越来越多,账单一来,成本就开始让人发愁。想临时改一条模板,还得排队等审核。这时候,有运维基础的团队会考虑在阿里云上自建邮件服务器。这件事能做,但最耗时的部分和多数人想的不太一样。下面这个案例就是这样走过来的。

一、案例背景
这是一个约40人的电商SaaS团队,每天要发订单通知、账单提醒和系统告警,日均大约12万封。原来用的第三方SMTP服务每个月要花上万元,模板审核周期又长,紧急通知经常晚到。团队决定在阿里云ECS上搭一台邮件服务器,对外发信使用独立域名。整个过程前后约两周,但大部分时间花在DNS配置和投递调试上,装软件反而是最快的一步。
二、动手前要确认的事
有几项最好在开工前就确认,否则做到一半容易卡住。
- ECS配置:2核4G起步比较稳妥,系统可以选Ubuntu 22.04或CentOS Stream。记得绑定固定公网IP,IP一变,后面的DNS和PTR都要跟着改。
- 域名与备案:发信域名必须能自由修改DNS记录。服务器在中国内地时,使用80或443端口的网站需要备案。纯邮件服务不在这个限制内,但所在地区的合规要求仍需自己查清楚。
- 25端口:阿里云默认限制新购ECS的25端口出站。需要在控制台提交工单,写明业务用途和预计发信规模,审核通过后才能直接投递到外部邮箱。这一步没通过之前,不必急着调投递。
- 反向解析(PTR):这一项很容易被漏掉。在阿里云控制台为公网IP配置PTR,使其与邮件服务器的主机名一致。没有这条记录,不少邮箱服务商会直接把邮件判为垃圾邮件。
三、核心组件怎么装
团队选的是比较经典的组合:Postfix负责SMTP收发,Dovecot提供IMAP和认证,MySQL管理虚拟用户,Rspamd做反垃圾,OpenDKIM负责签名。这套组合文档多、社区成熟,中小规模使用足够,出了问题也容易搜到解决办法。
- 安装Postfix和Dovecot,主机名设为mail.example.com这类完整域名。主机名要和后面的PTR、MX保持一致,否则排查时会多绕很多弯。
- 申请Let’s Encrypt证书,为587端口的SMTP和993端口的IMAP启用TLS,并关闭明文认证。
- 配置虚拟域和虚拟用户,用户信息存入MySQL。这样就不必为每个邮箱单独创建系统账户,后续增删用户也省事。
- 安全组放行25、465、587、993端口,其他端口保持关闭。管理端口只允许内网或指定IP访问,不要暴露在公网上。
- 安装Rspamd和OpenDKIM,生成2048位DKIM密钥对,公钥留给下一步写入DNS。
四、DNS记录
邮件能否被对方收下,很大程度取决于DNS是否配置完整。团队在阿里云云解析中添加了以下几条记录。
- MX记录:指向mail.example.com,优先级设为10。
- SPF记录:内容为v=spf1 ip4:服务器公网IP -all,只允许这台机器发信。以后如果还要通过其他渠道发信,需要把它们加进SPF,否则会被误判。
- DKIM记录:将OpenDKIM生成的公钥以TXT形式添加到default._domainkey子域名下。
- DMARC记录:初期设为p=none,并配置rua报告地址。观察一到两周,确认报告中没有遗漏的合法发信源,再逐步收紧到quarantine或reject。
配置完成后用dig逐条查询。TTL缓存可能让刚修改的记录暂时不生效,如果马上测试失败,先别急着怀疑配置本身,等一段时间再查。
五、投递测试踩过的坑
第一轮测试结果不理想。发给Gmail的邮件进了垃圾箱,发给国内主流邮箱的邮件明显延迟。团队逐项排查,找到三个原因:PTR尚未生效,新IP信誉较低,正文里带了营销类短链接。
处理办法比较朴素。等PTR生效后重新测试;发信量从每天200封起步,小批量预热,两周内逐步提升到每天几千封;短链接全部去掉,改为直接指向业务域名。新IP的信誉要靠时间和稳定的发送行为慢慢积累,急不来。
之后,团队借助邮件服务商提供的Postmaster工具和投递报告,持续关注退信率和垃圾投诉率。退信率超过3%时,先暂停批量任务,检查是否被黑名单收录。如果阿里云IP被某些公共黑名单收录,就按对应机构的申诉渠道处理。
六、成本与维护
按团队的测算,ECS和带宽每月是几百元,加上少量运维投入,总成本明显低于原来的第三方服务。但成本只是一方面,责任也随之转移。系统补丁要定期更新,磁盘和发送队列要盯住,邮件数据要备份,证书也要按时续期。
团队为此设置了告警:证书到期前30天自动提醒,队列积压超过阈值就通知值班人员。这些事情看上去琐碎,但少一条告警,就可能让一整天的通知都发不出去。
七、什么时候值得自建
在阿里云上自建邮件服务器,难点集中在端口解封、PTR和认证记录的配置,以及发信信誉的积累上。如果团队有稳定的运维能力,发信量也够大,自建方案在成本和可控性上确实有优势。建议先做小规模试点,观察投递效果,再决定要不要全面迁移。