通过邮件推送服务器发送邮件请求后, 投递结果将按照您在消息服务中设置的事件通知规则发送至消息服务的接收终端(HTTP、消息队列、主题)中,您可以使用消息服务的接收终端异步获取投递结果。
设置异步通知,首先需要在消息服务控制台创建事件通知规则,然后再到邮件推送控制台新建异步通知,所以需要开通消息服务。消息服务可能会产生费用。创建事件通知规则
建议在创建事件通知规则之前,先创建消息接收队列作为事件通知接收终端。
创建消息接收的队列
- 进入 消息服务控制台。
- 单击左侧导航栏中 队列,进入队列页面。
- 单击页面右上角 创建队列,将会弹出新建队列对话框。
- 依次输入队列名称,选择地域(建议用户选择距离您较近区域),其他按默认值即可,然后单击 确认。
创建事件通知规则
- 在消息服务控制台,单击左侧导航栏中 事件通知。
- 选择地域和产品名称。
- 单击页面右上角 创建规则,将弹出规则创建对话框。
- 检查地区、产品名称,输入规则名称,选择事件类型,添加接收终端,然后单击确定。
接收终端目前支持 HTTP、队列、主题三种。您可以选择创建的队列为接收终端。
注意:新规则创建完成后,需要约 10 分钟的时间才能生效。
新建异步通知
异步通知分为账户级异步通知和发信地址级异步通知。
如果您希望对所有发信地址实现投递结果的异步通知,仅设置账户级异步通知即可。
如果您希望仅对某些发信地址实现投递结果的异步通知,仅设置该发信地址的发信地址异步通知即可。
您也可以既设置账户级又设置发信地址级异步通知。因发信地址级异步通知优先级高于账户级异步通知,即发信地址优先获取对应发信地址级异步通知设置,账户级异步通知设置对该发信地址以外的其他发信地址生效。
创建账户级异步通知
- 登录 邮件推送管理控制台。
- 单击左侧导航栏中 异步通知进入异步通知页面。
- 单击页面右上角 新建账号级异步通知,将会弹出创建对话框。
- 选择与之前选择一致的区域,然后单击 确定。
创建发信地址级异步通知
- 登录 邮件推送管理控制台。
- 单击左侧导航栏中 异步通知进入异步通知页面。
- 单击 发信地址级异步通知。
- 然后单击页面右上角 新建发信地址级异步通知。
- 在弹出对话框中选择发信地址和地域,然后单击 确定。
接收队列消息
通过邮件推送服务器发送邮件请求后,
- 进入 消息服务控制台。
- 单击左侧导航栏中 队列。
- 选择相应区域,查看之前创建的队列中的活跃消息数。
- 单击该队列对应的 接收消息 按钮,将弹出推送过来的具体事件通知。
事件通知消息内容说明如下:
env_id=12769055421&msg_id=37483d95-7a08-41fb-9738-3d3ffa24d415@alibaba.com&account=dmxxx@xxxtest.com&from=dmxxx@xxxtest.com&rcpt=dmyyy@xyztest.com&recv_time=2017-03-29 14:22:40&end_time=2017-03-29 14:22:43&status=0&event=deliver®ion=cn-hangzhou&err_code=250&err_msg=250 Send Mail OK或env_id=12625010655&msg_id=ac349efc-0d79-489b-affa-f178dce3e49e@alibaba.com&account=ere@zzztest.site&from=ere@zzztest.site&rcpt=dmtest@xyztest.com&recv_time=2017-03-28 19:09:49&end_time=2017-03-28 19:09:51&status=4&event=deliver®ion=cn-hangzhou&err_code=524&err_msg=524 Host not found by dns resolve [@ou070302]
err_code 为非 250,表示发送失败。
err_code 为 250,表示发送成功。
附录:异步通知消息参数列表
名称 | 描述 |
---|---|
env_id | 系统内 ID(用于反馈查询问题) |
msg_id | 邮件原文 Message-ID 字段 |
account | 发件人地址 |
from | 发件人地址 |
rcpt | 收件人地址 |
recv_time | 邮件接收入队时间 |
end_time | 邮件投递完成时间 |
status | 投递完成结果状态(0-成功,2-无效地址,3-接收方认为垃圾邮件,4-失败) |
err_code | 投递完成时接收方 ESP 返回码 |
err_msg | 投递完成时接收方 ESP 返回信息 |