一、认识阿里云邮件推送(DirectMail)
阿里云邮件推送(DirectMail),简单来说,就是一套高效可靠的云端邮件发送服务。它覆盖的业务场景十分广泛,从注册验证、密码重置这类“触发邮件”,到营销推广用的“批量邮件”,均可轻松应对。与传统自建邮件服务器相比,优势非常明显:你无需操心服务器维护、IP信誉培养、反垃圾策略配置等繁琐工作,把这些底层技术难题都交给阿里云处理,开发者只需专注于业务逻辑本身。

这套服务的核心优势,概括起来主要有三点。第一,送达率高。依托阿里云庞大的IP资源池与智能路由策略,邮件进入收件箱的概率显著提升。第二,弹性扩展。按量付费模式,从每天几十封到数百万封邮件,都能平滑应对业务增长。第三,接入方式灵活。控制台、API、SMTP三种方式任选,适配不同技术栈与业务需求。
开始之前,请先登录阿里云控制台,在产品列表里搜索“邮件推送”或“DirectMail”,点击开通服务。新账户享有2000封免费额度,每天最多可发送200封。对于个人开发者或初创团队来说,这个额度足以满足早期功能验证与测试需求。
二、发信域名配置:邮件推送的基石
发信域名是邮件发送时的“身份凭证”,每个账户至少需要绑定一个。在SMTP会话过程中,发信域名即为Mail-From的后缀。Gmail、Outlook等主流邮件服务商,正是依据该域名来统计发信频率与信誉等级。因此,域名配置的质量直接决定了邮件能否顺利进入收件箱。
2.1 新建发信域名
进入邮件推送控制台,在左侧导航栏选择“发信域名”,点击“新建域名”,填入你用于发信的域名。这里有几个关键点需要注意:如果主域名是example.com,建议使用子域名比如dm.example.com或mail.example.com,避免影响主域名的其他邮件服务;如果该域名已在其他企业邮箱或邮件推送服务中使用,则无法重复绑定,需要更换子域名或新购域名;此外,中文域名等非英文域名暂时不支持。
2.2 域名验证与DNS解析配置
域名添加完成后,需要进行DNS验证。邮件推送要求配置六条DNS记录:TXT验证记录、SPF记录、DKIM记录、DMARC记录、MX记录和CNAME跟踪记录。每条记录都有其独特用途:TXT记录用来验证你对域名的所有权;SPF记录声明哪些服务器被授权代表该域名发信,防止他人伪造你的域名;DKIM记录通过数字签名验证邮件内容的完整性与真实性,有效防范伪造行为;DMARC记录则定义收信方如何处理未通过SPF或DKIM验证的邮件。
如果你的域名在阿里云购买,并且与邮件推送服务位于同一账户下,可以尝试“自动配置”功能,授权邮件推送自动完成DNS解析。非阿里云购买的域名则需要手动配置:在域名管理后台添加从邮件推送控制台获取的那六条记录。配置完成后,DNS生效通常需要1到10分钟,在控制台点击“刷新”即可查看验证结果。需要注意,SPF记录只能有一条,如果有多个出口IP,需合并到同一条记录中。
三、发信地址与SMTP密码设置
发信域名配置完毕后,下一步就是创建发信地址。这个地址就是收件人看到的发件人邮箱。
3.1 新建发信地址
在邮件推送控制台左侧选择“发信地址”,点击“新建发信地址”。创建时需要填写以下信息:选择一个已绑定到邮件推送的发信域名;设置发信地址的账号部分(例如域名是dm.example.com,账号设为noreply,完整地址即为noreply@dm.example.com);设置回信地址——用于接收用户回复,必须是一个能正常收信的邮箱,且需要通过验证。如果不填回信地址,用户回复将无法收到;选择发信类型:触发邮件或批量邮件。触发邮件适合注册验证、密码重置、订单通知等场景,批量邮件适合营销推广、newsletter等场景。规范使用发信类型,有助于提升在第三方接收方的信誉度。另外,每个自然月最多可删除10次发信地址,每个账户最多创建100个。
3.2 验证回信地址
回信地址创建后需要验证。在发信地址列表里,点击对应地址的“验证回信地址”按钮,系统会向该邮箱发送一封带验证码的邮件。登录回信地址邮箱,获取验证码并回填完成验证。验证码有效期为15分钟,需要在触发后15分钟内完成操作。
3.3 设置SMTP密码
如果要使用SMTP协议发送邮件,必须为发信地址设置SMTP密码。在发信地址列表里,点击对应地址的“设置SMTP密码”。密码复杂度有明确要求:长度10到20位,必须包含数字、大写字母和小写字母,至少2位数字、2位大写字母和2位小写字母,且不能与上次的密码相同。新建的发信地址,建议等待10分钟后再尝试发信。
四、三种邮件发送方式详解
阿里云邮件推送提供了三种发送方式:控制台发送、API接口发送和SMTP协议发送。开发者可以根据业务场景和技术栈灵活选择。
4.1 控制台发送(零代码入门)
控制台发送是最简单直接的入门方式,适合测试验证、批量发送营销邮件或非技术人员操作。在控制台左侧选择“发送邮件”,进入发送页面。通过控制台发送邮件需要创建发送任务,包括选择发信地址、选择已审核通过的邮件模板、上传收件人列表等。创建后,系统会展示发送工作清单,每个任务的详细状态均可查看。
4.2 API接口发送(程序化集成)
API接口发送是将邮件推送能力集成到应用程序中的主流方式。邮件推送提供了两个核心API:SingleSendMail用于发送单条触发邮件,BatchSendMail用于批量发送。API调用需要先获取AccessKey(建议使用RAM子账号的AccessKey,遵循最小权限原则),然后在代码中通过阿里云SDK进行调用。
以下是使用Python SDK调用SingleSendMail发送邮件的完整示例:
您好
您的验证码是:123456
