很多团队第一次接邮件发送,都以为把内容交给接口就结束了。上线后才发现,邮件能不能进收件箱,要看域名、认证记录、发送节奏和内容本身。阿里云发邮件把底层通道做成了现成服务,但先搞清它的工作方式,配置时才不会走弯路。

先想清楚你要发哪一类邮件
阿里云邮件推送(很多人还习惯叫它 DirectMail)大致服务两类场景。一类是触发式邮件,比如注册确认、密码重置、订单通知和物流提醒。这类邮件由业务系统在某个事件发生后自动发出,每封内容通常不同,时效要求高,用户往往马上就会留意到有没有收到。另一类是批量邮件,比如活动通知、产品周报和会员关怀,收件人多,更依赖发送节奏和退订机制。
两类邮件的发送方式差不多,风险却不一样。触发式邮件丢了一封,用户可能当场就来问。批量邮件一旦被判定为垃圾邮件,影响的是整个发信域名的信誉,后面的邮件都会受牵连。所以动手之前,先确定自己属于哪一类。
第一步:规划发信域名
在控制台添加发信域名之前,先别急着用主站域名。营销邮件最好单独用一个子域名,比如 mail.example.com,系统通知则用 notice.example.com。这样即使营销邮件的送达率出现波动,也不会连带影响主域名的收件情况。
域名添加后,要到域名服务商的 DNS 管理页面配置三类记录:
- SPF 记录:写明哪些服务器可以代表这个域名发信。收件服务器会据此判断邮件是不是从授权来源发出的。如果你之前还在用其他发信服务,记得把它也写进去,否则合法邮件可能被判为失败。
- DKIM 签名:控制台会生成一段公钥记录,发出的邮件带上签名,收件方可以校验内容在传输中有没有被改动。
- DMARC 策略:告诉收件服务器 SPF 或 DKIM 校验失败时如何处理,同时可以接收校验报告。建议第一阶段先设为只监测、不拦截,看一段时间报告,确认合法发信方都已覆盖,再逐步收紧。
记录保存后,控制台一般会显示验证状态。DNS 生效需要一点时间,如果一直没有通过,先别反复改记录,回头检查复制的内容。DKIM 那段字符串很长,最常见的问题就是首尾多复制了空格,或者中间被换行切断。
一个迁移案例
下面这个案例是虚构的,但很接近不少团队的实际情况。某中型电商原本用自建邮件服务器发订单通知。促销活动一多,邮件延迟和漏发就频繁出现,客服每周都会收到“没收到下单确认”的咨询。
团队迁到阿里云发邮件时做了三件事。第一,把交易邮件和营销邮件拆到两个子域名下,交易类用 order@notice.example.com 发送,营销类用 news@mail.example.com 发送,互不共用发信地址。第二,完成 SPF、DKIM、DMARC 配置,DMARC 先只监测,观察报告之后再收紧策略。第三,在业务代码里接入发送接口,每封邮件记录发送状态,失败后自动重试,重试次数用完的进入人工队列处理。
迁移后一段时间,团队回头看,交易邮件的送达明显更快,“没收到确认邮件”的咨询也少了。但他们很清楚,这不只是换服务商的功劳。域名拆分、认证记录补全、失败重试这些工程习惯,同样在起作用。通道可靠是前提,通道之外的做法才决定最后的效果。
SMTP 还是 API
阿里云发邮件支持 SMTP 和 API 两种接入方式。如果系统里已经有成熟的邮件库,比如 Java 的 JavaMail 或 Python 的 smtplib,改用 SMTP 改动最小,通常只需要替换服务器地址和凭据。如果是新系统,或者需要按模板发送、接收回执、批量提交任务,直接调用 API 会更顺手。
不管走哪条路,发信凭据都放到环境变量或密钥管理服务里,不要写进代码仓库。仓库一旦公开,凭据就等于泄露了。发信地址和发信名称也要和控制台里已验证的域名对上,对不上的话,邮件可能在发送阶段就被拒绝,排查起来很绕。
影响送达率的几个习惯
认证记录配对了只是基础,发送习惯和内容同样影响结果。下面几点在实际操作中比较常见:
- 新域名先慢慢放量:刚开始用的域名不要一次推送大批邮件,先小批量发,每天的量逐步往上加,让收件服务器对你的发信行为形成稳定印象。
- 定期清理名单:长期不打开、已退订或持续退信的地址,应当从发送列表里移除。继续往这些地址发,只会拖低发信信誉。
- 退订入口要显眼,而且要执行到位:营销邮件里放清楚的退订链接,用户点了之后要真的停发。找不到退订按钮的用户,更可能直接点“标记为垃圾邮件”,这个伤害比一次退订大得多。
- 标题和正文别太猛:标题里堆感叹号、夸张词和多个短链接,容易触发过滤规则。标题要和正文内容一致,正文结构清楚,读者看完知道你在讲什么。
- 交易和营销分开发:就是前面案例里那样,两类邮件走不同子域名,一边出问题,另一边不会跟着受影响。
上线前自查
正式开始发之前,可以按下面几项过一遍:域名在控制台是否已经验证通过;SPF、DKIM、DMARC 记录是否都已生效;发信凭据是否已经从代码里移出;发送失败有没有重试和告警;营销邮件里有没有退订方式。最后用几个真实地址测试,分别看邮件落在收件箱还是垃圾邮件文件夹。只看接口返回发送成功,并不能说明用户真的收到了。
阿里云发邮件把复杂的发送基础设施交给了平台,开发团队可以把精力放回业务上。但域名信誉、内容质量和用户体验仍然需要自己盯着。把这几个环节做扎实,邮件才能稳定地进到该进的地方。