

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 Amazon SES 事件发布监控电子邮件发送
<a name="monitor-using-event-publishing"></a>

为了使您能够精细地跟踪电子邮件的发送，您可以将 Amazon SES 设置为根据您定义的特征向亚马逊、Amazon Data Firehose CloudWatch、Amazon Pinpoint、亚马逊简单通知服务或 EventBridge 亚马逊发布*电子邮件发送事件*。

您可以跟踪多种类型的电子邮件发送事件，包括发送、送达、打开、点击、退回、投诉、拒绝、呈现失败和送达延迟。此信息可用于操作和分析目的。例如，您可以将电子邮件发送数据发布到 CloudWatch 并创建控制面板来跟踪电子邮件活动的效果，也可以使用 Amazon SNS 在某些事件发生时向您发送通知。

## 事件发布如何与配置集和消息标签协同工作
<a name="event-publishing-how-works"></a>

要使用事件发布，您首先要设置一个或多个*配置集*。配置集用于指定发布事件的位置和要发布的事件。然后，每次发送电子邮件时，都要提供配置集的名称和一个或多个 name/value 成对的*邮件标签*，以对电子邮件进行分类。例如，如果您要宣传书籍，则当您为关联的营销活动发送电子邮件时，可以将邮件标签命名为 *genre*，并指定值 *sci-fi* 或 *western*。

根据您使用的电子邮件发送接口，您可以将消息标签作为参数提供给 [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html) API 操作的 [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html#SES-SendEmail-request-EmailTags](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html#SES-SendEmail-request-EmailTags) 字段，或者将消息标签添加到 SES 特定的电子邮件头 [https://docs.aws.amazon.com/ses/latest/dg/event-publishing-send-email.html#event-publishing-using-ses-headers](https://docs.aws.amazon.com/ses/latest/dg/event-publishing-send-email.html#event-publishing-using-ses-headers)。有关配置集的更多信息，请参阅[在 SES 中使用配置集](using-configuration-sets.md)。

除了您指定的消息标签之外，SES 还会将*自动标签*添加到您发送的消息。您无需执行任何其他步骤就能使用自动标签。

下表列出了自动应用于您使用 SES 发送的消息的自动标签。


**SES 自动标签**  

| 自动标签名称 | 说明 | 
| --- | --- | 
| ses:caller-identity | 发送电子邮件的 SES 用户的 IAM 身份。 | 
| ses:configuration-set | 与电子邮件关联的配置集的名称。 | 
| ses:from-domain | “发件人”地址的域。 | 
| ses:outgoing-ip | SES 用来发送电子邮件的 IP 地址。 | 
| ses:source-ip | 发起人用来发送电子邮件的 IP 地址。 | 
| ses:source-tls-version | 调用方用来发送电子邮件的 TLS 协议版本。 | 
| ses:outgoing-tls-version | SES 用来发送电子邮件的 TLS 协议版本。 | 

## 电子邮件营销活动的细粒度反馈
<a name="event-publishing-fine-grained-feedback"></a>

`ses:feedback-id-<{{a}} or {{b}}>` 标签是一个可选的消息标签，您可以将其视为混合或半自动标签，虽然它与上一节中讨论的自动标签类似，但不同之处在于，您必须手动添加它并使用 `ses:` 前缀键。您最多可以使用两个这样的标签，分别定义 `ses:feedback-id-a` 和 `ses:feedback-id-b`。

当您指定这些标签时，SES 会自动将它们附加到标准 `Feedback-ID` 标头中，这些标头用于在反馈循环（FBL）中提供传送统计信息，例如投诉率和垃圾邮件率，请参阅[反馈循环](faqs-enforcement.md#cm-feedback-loop)。标`Feedback-ID`题由 SES 用于收集投诉信息的标识符 *SESInternalID* 和标识 SES 为发送平台的静态标签 *Amazon* SES 组成，例如：

`FeedBackId:feedback-id-a:feedback-id-b:((SESInternalID):(AmazonSES))`

这些可选的反馈 ID 标签为您提供了一种生成细粒度反馈的方式，例如，针对您作为电子邮件营销活动一部分发送的邮件。您可以通过在 [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html) 操作请求的 [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html#SES-SendEmail-request-EmailTags](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html#SES-SendEmail-request-EmailTags) 字段中将其指定为消息标签来使用 `ses:feedback-id-<{{a}} or {{b}}>`，如以下示例所示：

```
{
  "FromEmailAddress": "noreply@example.com",
  "Destination": {
    "ToAddresses": [
      "customer@example.net"
    ]
  },
  "Content": {
    "Simple": {
      "Subject": {
        "Data": "Hello and welcome"
      },
      "Body": {
        "Text": {
          "Data": "Lorem ipsum dolor sit amet."
        },
        "Html": {
          "Data": "Lorem ipsum dolor sit amet."
        }
      }
    }
  },
  "EmailTags": [
    {
      "Name": "ses:feedback-id-a",
      "Value": "new-members-campaign"
    },
    {
      "Name": "ses:feedback-id-b",
      "Value": "football-campaign"
    }
  ],
  "ConfigurationSetName": "football-club"
}
```

如果以原始格式发送，则可以将其 `ses:feedback-id-<{{a}} or {{b}}>` 作为消息标签添加到特定于 SES 的标头 [`X-SES-MESSAGE-TAGS`](event-publishing-send-email.md#event-publishing-using-ses-headers) 中。

也可以在亚马逊 CloudWatch 中跟踪`ses:feedback-id-<{{a}} or {{b}}>`消息标签，方法是将其指定为 CloudWatch 价值来源，就像任何其他消息标签一样，请参阅 [添加 CloudWatch 活动目的地](event-publishing-add-event-destination-cloudwatch.md#event-publishing-add-event-destination-cloudwatch-add)*（需支付额外费用，参见[每个指标的价格 CloudWatch](event-publishing-add-event-destination-cloudwatch.md#cw-add-pricing)。）*

## 如何使用事件发布
<a name="event-publishing-how-to-use"></a>

以下几节包含设置和使用 SES 事件发布所需的信息。
+ [设置事件发布](monitor-sending-using-event-publishing-setup.md)
+ [使用事件数据](working-with-event-data.md)

## 事件发布术语
<a name="event-publishing-terminology"></a>

以下列表定义了与 SES 事件发布相关的术语。

**电子邮件发送事件**  
与您提交到 SES 的电子邮件的结果关联的信息。发送事件包括：  
+ **Send**（发送）– 发送请求成功，Amazon SES 将尝试将邮件发送到收件人的邮件服务器。（如果使用账户级别或全局抑制，SES 仍会将其计为发送，但会抑制送达。）
+ **RenderingFailure**— 由于模板渲染问题，电子邮件未发送。当模板数据丢失或模板参数与数据不匹配时，可能会发生此事件类型。（此事件类型仅在您使用 [https://docs.aws.amazon.com/ses/latest/APIReference/API_SendTemplatedEmail.html](https://docs.aws.amazon.com/ses/latest/APIReference/API_SendTemplatedEmail.html) 或 [https://docs.aws.amazon.com/ses/latest/APIReference/API_SendBulkTemplatedEmail.html](https://docs.aws.amazon.com/ses/latest/APIReference/API_SendBulkTemplatedEmail.html) API 操作发送电子邮件时发生。）
+ **Reject**（拒绝）– Amazon SES 已接受电子邮件，但确定它包含病毒，而未尝试将其发送到收件人的邮件服务器。
+ **Delivery**（送达）– Amazon SES 成功将电子邮件发送到收件人的邮件服务器。
+ **退信** – 收件人的邮件服务器永久拒绝了电子邮件的*硬退信*。（仅当 S *ES 不再尝试发送电子邮件时，才会包含软退件*。 通常，这些软退件表示投递失败，尽管在某些情况下，即使邮件成功到达收件人收件箱，也可以返回软退件。 当收件人发送 out-of-office自动回复时，通常会发生这种情况。 在这篇 re [AWS : Post 文章](https://repost.aws/knowledge-center/ses-understand-soft-bounces)中了解有关软反弹的更多信息。）
+ **Complaint**（投诉）– 电子邮件已成功送达收件人的邮件服务器，但收件人将其标记为垃圾邮件。
+ **DeliveryDelay**— 由于出现临时问题，无法将电子邮件发送到收件人的邮件服务器。例如，当收件人的收件箱已满，或者当接收电子邮件服务器遇到临时问题时，可能会发生传送延迟。
+ **Subscription**（订阅）– 电子邮件已成功发送，但收件人通过单击电子邮件标头中的 `List-Unsubscribe` 或脚注中的 `Unsubscribe` 链接更新了订阅首选项。
+ **Open**（打开）– 收件人已收到邮件并在其电子邮件客户端中打开了邮件。
+ **Click**（单击）– 收件人单击了电子邮件中包含的一个或多个链接。

**配置集**  
一组规则，用于定义 SES 将电子邮件发送事件发布到的目标，以及要发布的电子邮件发送事件的类型。在发送您希望用于事件发布的电子邮件时，您将指定与电子邮件关联的配置集。

**事件目标**  
您向其发布 SES 电子邮件发送事件的 AWS 服务。您设置的每个事件目标都属于一个（且仅属于一个）配置集。

**邮件标签**  
用于 name/value 对电子邮件进行分类以进行活动发布的配对。示例包括*营销活动/书籍* 和*营销活动/服装*。在发送电子邮件时，您可以将邮件标签指定为 API 调用的参数，或指定为特定于 SES 的电子邮件标头。

**自动标签**  
自动包含在事件发布报告中的邮件标签。有一个用于配置集名称、“发件人”地址的域、发起人的出站 IP 地址、SES 出站 IP 地址和发起人的 IAM 身份的自动标签。