

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

# 规则集和规则
<a name="eb-rules"></a>

规则集是您分配给入口端点的规则的容器，以便它可以对入口端点流量策略允许的电子邮件执行操作。一个规则集可以由多个入口端点使用。

当消息满足规则条件时，规则通过执行规则中定义的操作来告诉您的入口端点如何处理传入的电子邮件。每条规则可以有多个条件和操作。您在规则集中创建的规则将按规则集中指定的顺序执行。

您可以通过选择一个电子邮件属性，并为输入的值选择一个条件运算符来构建规则的条件，只有当消息与这些条件匹配时，规则才会执行其操作，您可以定义要采取的操作及其执行顺序。

为了更精细地控制，您的规则还可以包含与条件定义类似的例外情况，但在这里，您定义的是一个消息必须*不*匹配的条件。条件和例外情况是独立运行的，如果您愿意，可以仅使用例外情况来构建规则，也可以将条件和例外情况混合使用。

由于在规则集中定义规则的方式非常精细，因此提供了以下列表来帮助说明规则集组件之间的关系：
+ **规则集包含**：
  + **规则**：您可以定义规则在规则集中执行的顺序。

    **规则包含**：
    + **条件**：如果消息与条件的评估相匹配，则该规则适用；如果规则有例外情况，请参见下文。
    + **例外**：如果消息与例外情况的评估不匹配，则该规则适用；如果规则有条件，请参见上文。
    + **操作**：在规则适用时触发操作，此时所有条件都匹配，无例外情况。

      您可以在规则中定义操作的执行顺序。

由于每个规则都可以包含多个条件、例外情况和操作，而且您可以定义规则和操作的执行顺序，因此您可以构建一个高度自定义且自动化的电子邮件处理解决方案，以满足您特定的业务需求。

规则集是一种独立的资源，可以由多个入口端点使用，但规则仅属于创建规则的规则集。因此，您必须先创建规则集或编辑现有规则集，然后才能创建规则以对传入您的入口端点的电子邮件执行操作。

 下一节中的过程将指导您在 SES 控制台中创建规则集及其规则。

## 在 SES 控制台中创建规则集和规则
<a name="eb-rules-create-console"></a>

以下过程向您演示，如何使用 SES 控制台中的**规则集**页面来创建规则集及其规则，并管理已创建的规则集。

**使用控制台创建并管理规则集和规则**

1. 登录 AWS 管理控制台 并打开 Amazon SES 控制台，网址为[https://console.aws.amazon.com/ses/](https://console.aws.amazon.com/ses/)。

1. 在左侧导航面板中，选择 **Mail Manager** 下的**规则集**。

1. 在**规则集**页面上，选择**创建规则集**，并为规则集输入唯一的名称。

1. 在规则集的概述页面上，选择**编辑**，然后在编辑页面上选择**创建新规则**。

1. 在**规则详细信息**侧边栏中，输入规则的唯一名称。

1. 选择**添加新条件**以创建消息必须匹配的条件；或者选中**以下情况除外：**复选框，然后选择**添加新例外**以创建消息*不得*匹配的条件。

1. 通过选择电子邮件属性，以及为输入的值选择条件运算符来构建条件或例外。如果要向此规则添加更多条件或例外，请选择**添加新条件**或**添加新例外**。*要了解有关条件属性及其运算符和有效值的更多信息，请参阅[规则条件](#rule-conditions)参考。*
   + 如果您订阅了[电子邮件插件](eb-addons.md)，则可以在此选择其作为电子邮件属性。

1. 选择**添加新操作**以定义在规则的条件匹配 and/or 异常不匹配时要采取的操作。要添加更多要执行的操作，请选择**添加新操作**。*创建两个或更多动作时，会显示 up/down 箭头，以便您可以设置执行顺序。*
**注意**  
要执行任何这些[规则操作](#rule-actions)，您需要为您的账户启用它们各自的权限策略；否则，规则操作将失败。

1. 选择操作后，直接从**规则详细信息**面板中为其中任何一个操作应用权限策略：

   1. 在 **IAM 角色**字段中选择**创建新角色**，然后输入名称，接着选择**创建角色**。（此角色的 IAM 信任策略将在后台自动生成。）

   1. 由于 IAM 信任策略是自动生成的，因此您只需将操作的权限策略添加到角色中 - 选择 **IAM 角色**字段下的**查看角色**即可打开 IAM 控制台。

   1. 在**权限**选项卡下，选择**添加权限**，然后选择**创建内联策略**。

   1. 在**指定权限**页面上，在**策略编辑器**中选择 **JSON**。

   1. 将相应的策略从 [Mail Manager 的权限策略](eb-policies.md) 复制并粘贴到**策略编辑器**中，然后将红色文本中的数据替换为您自己的数据。（请务必删除编辑器中的所有示例代码。）

   1. 选择**下一步**。

   1. 选择**创建策略**，查看并创建您的 IAM 角色权限策略。

   1. 选择已打开 SES Mail Manager **编辑规则集**页面的浏览器选项卡，然后继续执行创建规则的其余步骤。

1. 创建完规则的条件、例外情况和操作后，您可以选择位于左侧**编辑规则集**面板中的**保存规则集**，将其保存到规则集中。

1. 如果要向规则集添加更多规则，请重复上述步骤 4-9。
   + 创建两个或更多规则时，规则集的 “**重新排序**” 列中会显示 up/down 箭头，以便您可以设置执行顺序。

1. 您可以从**规则集**页面查看和管理已创建的规则集。如果您要删除某个规则集，请选择其单选按钮，然后选择**删除**。

1. 要编辑某个规则集，请选择其名称以打开相应的概述页面，在该页面中选择**编辑**，您可以在其中重新排列其规则的执行顺序，通过选择**创建新规则**来添加更多规则，或者通过选择某个规则的单选按钮然后选择**删除**来删除规则。

1. 要编辑某个规则，请选择其单选按钮。在**规则详细信息**侧边栏上的任何容器中，您可以编辑任何条件或例外情况，也可以更改或重新排序任何操作。您还可以删除条件、例外和操作，也可以添加新的条件、例外和操作。

1. 完成所有编辑后，通过选择左侧**编辑规则集**面板中的**保存规则集**来保存更改。

## 规则条件和操作的参考
<a name="eb-rules-reference"></a>

**规则条件**  
以下参考表列出了所有可用于构建规则条件（或例外）的规则属性，并按其表达式类型进行了分类。具有相同表达式类型的规则属性也具有相同的运算符和值。选择属性的表达式类型将跳转到《SES Mail Manager API 参考》**中的相应参考页面，其中列出了该属性的所有可用运算符和有效值。


**规则条件：属性、运算符和值**  

| 属性 | 表达式类型 | 
| --- | --- | 
| 发件人地址<br />收件人地址<br />抄送地址<br />Mail from<br />接收人地址<br />主题<br />Helo<br />MIME 标头<br />客户端证书属性*（仅限 mTLS 入口端点*）[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/ses/latest/dg/eb-rules.html)<br />Vade Advanced Email Security[*（如果已订阅）*](eb-addons.md)[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/ses/latest/dg/eb-rules.html)<br />Trend Micro 病毒扫描[*（如果已订阅）*](eb-addons.md)[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/ses/latest/dg/eb-rules.html) | [https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_RuleStringExpression.html](https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_RuleStringExpression.html) | 
| IP 范围 | [https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_RuleIpExpression.html](https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_RuleIpExpression.html) | 
| 消息最大大小 | [https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_RuleNumberExpression.html](https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_RuleNumberExpression.html) | 
| DKIM<br />SPF | [https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_RuleVerdictExpression.html](https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_RuleVerdictExpression.html) | 
| TLS<br />TLS 包装<br />已读回执<br />Vade Advanced Email Security[*（如果已订阅）*](eb-addons.md)[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/ses/latest/dg/eb-rules.html)<br />Trend Micro 病毒扫描[*（如果已订阅）*](eb-addons.md)[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/ses/latest/dg/eb-rules.html) | [https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_RuleBooleanExpression.html](https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_RuleBooleanExpression.html) | 
| DMARC 策略 | [https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_RuleDmarcExpression.html](https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_RuleDmarcExpression.html) | 

**收件人地址匹配和子寻址**  
*收件人地址*属性使用与收到的完全相同的 SMTP 信封收件人地址，包括任何子地址扩展名（也称为 “加寻址”）。例如，如果向发送了一封邮件`user+tag@example.com`，则在规则条件中评估的收件人地址为`user+tag@example.com`，而不是`user@example.com`。  
这意味着`EQUALS`或`CONTAINS`规则的定位`user@example.com`将不匹配`user+tag@example.com`。如果您需要匹配地址的所有子地址变体，请考虑使用带有通配符条目的地址列表（例如）。`user*@example.com`或者，也可以使用`ENDS_WITH`与域（例如`@example.com`）进行更广泛的域级匹配。

**规则操作**  
以下参考表列出了在满足规则条件或不满足其例外情况时，可以执行的所有规则操作。选择某个操作将跳转到《SES Mail Manager API 参考》**中的相应操作参考页面，其中列出了该操作的参数及其格式。该表使用了 Mail Manager 控制台中采用的操作名称，API 名称可能略有不同。

**注意**  
在某些 API 参考中，如果操作失败，可以将 `ActionFailurePolicy` 参数设置为*继续*或*删除*，这仅在使用 API 时适用；使用控制台时，`ActionFailurePolicy` 已设置为默认值*继续*。


**规则操作：操作和参数**  

| 操作及其参数 | 说明 | 
| --- | --- | 
| [https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_S3Action.html](https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_S3Action.html) | 将电子邮件的 MIME 内容写入 S3 存储桶中。 | 
| [https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_RelayAction.html](https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_RelayAction.html) | 通过 SMTP 将电子邮件中继到另一个特定的 SMTP 服务器。 | 
| [https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_ArchiveAction.html](https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_ArchiveAction.html) | 通过将电子邮件传送到 Amazon SES 存档进行存档。 | 
| [https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_AddHeaderAction.html](https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_AddHeaderAction.html) | 向收到的电子邮件添加自定义标头。 | 
| [https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_ReplaceRecipientAction.html](https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_ReplaceRecipientAction.html) | 用给定的收件人列表替换电子邮件信封收件人。如果此操作的条件仅适用于收件人的子集，则仅替换这些收件人。 | 
| [https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_DeliverToMailboxAction.html](https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_DeliverToMailboxAction.html) | 将电子邮件发送到 Amazon WorkMail 邮箱。 | 
| [https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_DeliverToQBusinessAction.html](https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_DeliverToQBusinessAction.html) | 将电子邮件传送到 Amazon Q Business 应用程序，以摄取到其知识库中。 | 
| [https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_SnsAction.html](https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_SnsAction.html) | 将电子邮件内容发布到 Amazon SNS 主题。 | 
| [https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_SendAction.html](https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_SendAction.html) | 使用 SES 将电子邮件发送给电子邮件收件人列表中的收件人。 | 
| [https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_BounceAction.html](https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_BounceAction.html) | 通过向发件人返回退回回复来退回电子邮件。 | 
| [https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_InvokeLambdaAction.html](https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_InvokeLambdaAction.html) | 调用 AWS Lambda 函数来处理电子邮件。Lambda 有效负载格式与 Amazon SES 电子邮件接收格式相同，如中所述。[通知内容](receiving-email-notifications-contents.md)有关更多信息，请参阅 [使用案例示例](receiving-email-action-lambda-example-use-cases.md)。有关代码示例，请参阅 [Lambda 函数示例](receiving-email-action-lambda-example-functions.md)。 | 
| [https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_DropAction.html](https://docs.aws.amazon.com/sesmailmanager/latest/APIReference/API_DropAction.html) | 对于包含多个收件人的电子邮件，如果此操作适用于其中一个或多个（但不是全部）收件人，则这些收件人将从电子邮件的收件人列表中删除，并且将继续对剩余收件人应用规则处理。如果此操作适用于所有收件人，则规则处理将停止，因为所有收件人都已从收件人列表中删除，并且不会收到该电子邮件。 | 