在 Amazon SES 中为电子邮件接收使用 IP 地址筛选器 - AWS SDK for JavaScript

帮助我们改进AWS SDK for JavaScript版本 3 (V3) 文档,方法是使用反馈链接,或者在上创建议题或拉取请求GitHub.

这些区域有:AWS SDK for JavaScriptV3 API 参考指南详细描述了所有的 API 操作AWS SDK for JavaScript版本 3 (V3)。

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

在 Amazon SES 中为电子邮件接收使用 IP 地址筛选器

JavaScript code example that applies to Node.js execution

此 Node.js 代码示例演示:

  • 如何创建 IP 地址筛选条件以接受或拒绝来自某个 IP 地址或 IP 地址范围的邮件。

  • 如何列出您当前的 IP 地址筛选条件。

  • 如何删除 IP 地址筛选条件。

在 Amazon SES 中,过滤是一个数据结构,包括名称、IP 地址范围以及允许或阻止来自该范围的邮件的功能。对于您希望阻止或允许的 IP 地址,以无类域间路由 (CIDR) 表示法指定单个 IP 地址或 IP 地址范围。有关 Amazon SES 接收电子邮件的详细信息,请参阅Amazon SES 电子邮件接收概念在《Amazon Simple Email Service 开发人员指南》中。

场景

在本示例中,使用了一系列 Node.js 模块以多种方式发送电子邮件。Node.js 模块使用 JavaScript 开发工具包来创建和使用电子邮件模板。SES客户端类:

前提任务

要设置和运行此示例,您必须先完成以下任务:

  • 设置项目环境以运行这些 Node TypeScript 示例,然后安装所需的AWS SDK for JavaScript和第三方模块。按照上的说明操作GitHub.

  • 使用用户凭证创建共享配置文件。有关提供共享凭证文件的更多信息,请参阅从共享凭证文件加载 Node.js 中的凭证

重要

这些示例演示了如何使用 ECMASCRIPT6 (ES6) 导入/导出客户端服务对象和命令。

创建 IP 地址筛选器

在本示例中,使用 Node.js 模块通过 Amazon SES 发送电子邮件。

创建libs目录,并创建文件名为的 Node.js 模块sesClient.js. 将以下代码复制并粘贴到其中,这将创建 Amazon SES 客户端对象。Replace领域和您的AWS区域。

import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };

可以找到这个示例代码GitHub 上的.

创建文件名为 ses_createreceiptfilter.js 的 Node.js 模块。如前所示配置 SDK,包括安装所需的客户端和软件包。

创建一个传递参数值的对象,这些参数值定义 IP 筛选条件,包括筛选条件名称,要筛选的 IP 地址或地址范围,以及允许还是阻止来自所筛选地址的电子邮件流量。调用CreateReceiptFilterCommand方法中,调用 Amazon SES 服务对象并传递参数。

注意

此示例导入并使用必需的AWS服务 V3 包客户端、V3 命令,并使用send方法采用异步/等待模式。您可以使用 V2 命令创建此示例,而是通过进行一些小的更改。有关详细信息,请参阅 使用 V3 命令

注意

ReplaceIP_ADDRESS _OR_RANGE要筛选的 IP 地址或地址范围,政策随着ALLOW要么BLOCK, 和名称使用过滤器名称。

// Import required AWS SDK clients and commands for Node.js import { CreateReceiptFilterCommand } from "@aws-sdk/client-ses"; import { sesClient } from "./libs/sesClient.js"; // Set the parameters const params = { Filter: { IpFilter: { Cidr: "IP_ADDRESS_OR_RANGE", // (in code; either a single IP address (10.0.0.1) or an IP address range in CIDR notation (10.0.0.1/24)), Policy: "POLICY", // 'ALLOW' or 'BLOCK' email traffic from the filtered addressesOptions. }, Name: "NAME" // NAME (the filter name) }, }; const run = async () => { try { const data = await sesClient.send(new CreateReceiptFilterCommand(params)); console.log("Success", data); return data; // For unit tests. } catch (err) { console.log("Error", err.stack); } }; run();

要运行示例,请在命令提示符处输入以下内容。筛选器是在 Amazon SES 中创建的。

node ses_createreceiptfilter.js

可以找到这个示例代码GitHub 上的.

列出您的 IP 地址筛选条件

在本示例中,使用 Node.js 模块通过 Amazon SES 发送电子邮件。

创建libs目录,并创建文件名为的 Node.js 模块sesClient.js. 将以下代码复制并粘贴到其中,这将创建 Amazon SES 客户端对象。Replace领域和您的AWS区域。

import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };

可以找到这个示例代码GitHub 上的.

创建文件名为 ses_listreceiptfilters.js 的 Node.js 模块。如前所示配置 SDK,包括安装所需的客户端和软件包。

创建一个空参数对象。调用ListReceiptFiltersCommand方法,调用 Amazon SES 服务对象并传递参数。

// Import required AWS SDK clients and commands for Node.js import { ListReceiptFiltersCommand } from "@aws-sdk/client-ses"; import { sesClient } from "./libs/sesClient.js"; const run = async () => { try { const data = await sesClient.send(new ListReceiptFiltersCommand({})); console.log("Success.", data); return data; // For unit tests. } catch (err) { console.log("Error", err.stack); } }; run();

要运行示例,请在命令提示符处输入以下内容。Amazon SES 返回筛选器列表。

node ses_listreceiptfilters.js

可以找到这个示例代码GitHub 上的.

删除 IP 地址筛选器

在本示例中,使用 Node.js 模块通过 Amazon SES 发送电子邮件。

创建libs目录,并创建文件名为的 Node.js 模块sesClient.js. 将以下代码复制并粘贴到其中,这将创建 Amazon SES 客户端对象。Replace领域和您的AWS区域。

import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };

可以找到这个示例代码GitHub 上的.

创建文件名为 ses_deletereceiptfilter.js 的 Node.js 模块。如前所示配置 SDK,包括安装所需的客户端和软件包。

创建对象,传递要删除的 IP 筛选条件的名称。调用DeleteReceiptFilterCommand方法中,调用 Amazon SES 客户端服务对象并传递参数。

注意

此示例导入并使用必需的AWS服务 V3 包客户端、V3 命令,并使用send方法采用异步/等待模式。您可以使用 V2 命令创建此示例,而是通过进行一些小的更改。有关详细信息,请参阅 使用 V3 命令

注意

ReplaceFILTER _NAME带有要删除的 IP 筛选条件的名称。

// Import required AWS SDK clients and commands for Node.js import { DeleteReceiptFilterCommand } from "@aws-sdk/client-ses"; import { sesClient } from "./libs/sesClient.js"; // Set the parameters const params = { FilterName: "FILTER_NAME" }; //FILTER_NAME const run = async () => { try { const data = await sesClient.send(new DeleteReceiptFilterCommand(params)); console.log("Success", data); return data; // For unit tests. } catch (err) { console.log("Error", err.stack); } }; run();

要运行示例,请在命令提示符处输入以下内容。筛选条件将从 Amazon SES 中删除。

node ses_deletereceiptfilter.js

可以找到这个示例代码GitHub 上的.