帮助我们改进Amazon SDK for JavaScript版本 3 (V3) 文档,方法是使用反馈链接,或者在上创建议题或拉取请求GitHub
这些区域有:Amazon SDK for JavaScriptV3 API 参考指南详细描述了Amazon SDK for JavaScript版本 3 (V3)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon SES 中为电子邮件接收使用 IP 地址筛选器
此 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 示例,然后安装所需的Amazon SDK for JavaScript和第三方模块。按照上的说明操作GitHub
. 使用用户凭证创建共享配置文件。有关提供共享凭证文件的更多信息,请参阅从共享凭证文件加载 Node.js 中的凭证。
这些示例演示了如何使用 ECMASCRIPT6 (ES6) 导入/导出客户端服务对象和命令。
这需要 Node.js 版本 13.x 或更高版本。要下载并安装最新版本的 Node.js,请参阅。Node.js 下载内容。
. 如果您希望使用 CompilJS 语法,请参阅JavaScript ES6/常用JS 语法.
创建 IP 地址筛选器
在本示例中,使用 Node.js 模块通过 Amazon SES 发送电子邮件。
创建libs
目录,并创建文件名为的 Node.js 模块sesClient.js
. 将以下代码复制并粘贴到其中,这将创建 Amazon SES 客户端对象。Replace领域
和您的Amazon区域。
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 服务对象并传递参数。
此示例导入并使用必需的Amazon服务 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领域
和您的Amazon区域。
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领域
和您的Amazon区域。
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 客户端服务对象并传递参数。
此示例导入并使用必需的Amazon服务 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 上的