通过创建事件通知规则,消息服务MNS可以将邮件推送产生的事件以消息的方式推送到指定的接收端。本文介绍邮件推送事件通知的背景信息、适用场景、事件类型以及消息格式。

背景信息

如下图所示,如果您在邮件推送服务控制台打开异步通知功能,消息服务MNS支持将邮件推送的结果以消息的方式进行异步通知。您可以创建事件通知规则来指定在邮件推送过程中触发不同的事件时,将邮件推送的结果消息推送到对应的接收端中。emailpushevent

适用场景

  • 异步获取邮件推送结果消息,再根据业务需求进行处理,例如重新发送。
  • 批量发送邮件,根据邮件推送结果消息异步统计邮件发送结果。
  • 监控邮件推送结果,例如大量邮件推送失败时,您可以第一时间收到通知。
  • 邮件推送结果消息通过多种方式推送到不同的接收端,以进行不同处理,例如多个业务部门都关心这些数据。
  • 如果用户A将邮件推送的权限授予用户B,用户A可以通过邮件推送通知了解用户B邮件推送的情况。

事件类型

邮件推送支持以下事件类型。

事件类型 描述
Deliver:Click 单击邮件中的链接。
Deliver:Open 打开邮件。
Deliver:SendSuccessfully 邮件推送成功。
Deliver:SendFailed 邮件推送失败。

消息格式

消息格式如下所示:

  • 发送成功示例
    env_id=457323378&msg_id=77041400535408&account=test@example.com&from=test@example.com&rcpt=abc@example.net&recv_time=2017-04-14 11:44:47&end_time=2017-04-14 11:44:48&status=0&event=deliver&region=cn-hangzhou&err_code=250&err_msg=250 Send Mail OK
  • 发送失败示例
    env_id=457323379&msg_id=77041400535409&account=test@example.com&from=test@example.com&rcpt=abc@example.net&recv_time=2017-04-14 11:44:48&end_time=2017-04-14 11:44:49&status=2&event=deliver&region=cn-hangzhou&err_code=550&err_msg=550 No Such User
    说明

消息格式字段解释如下表所示。

字段 描述
env_id 系统内ID。用于反馈查询问题。
msg_id 邮件原文中的Message-ID字段。
account 发件人账户。
from 发件人地址。
rcpt 收件人地址。
recv_time 邮件接收入队时间。
end_time 邮件投递完成时间。
status 投递完成结果状态。
取值说明如下:
  • 0:成功。
  • 2:无效地址。
  • 3:接收方认为垃圾邮件。
  • 4:失败。
event 触发的事件。
region 事件规则所在地域。
err_code 投递完成时接收端的返回码。
err_msg 投递完成时接收端的返回信息。