为 Amazon SES 中的电子邮件接收使用 IP 地址筛选条件 - 适用于 JavaScript 的 Amazon SDK
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

我们已宣布即将终止对 适用于 JavaScript 的 Amazon SDK v2 的支持。建议您迁移到 适用于 JavaScript 的 Amazon SDK 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 Simple Email Service 开发人员指南》中的 Amazon SES 电子邮件接收概念

情景

在本示例中,使用了一系列 Node.js 模块以多种方式发送电子邮件。这些 Node.js 模块使用 SDK for JavaScript,通过 AWS.SES 客户端类的以下方法来创建和使用电子邮件模板:

先决条件任务

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

配置 SDK

通过创建全局配置对象然后为代码设置区域,来配置 SDK for JavaScript。在此示例中,区域设置为 us-west-2

// Load the SDK for JavaScript var AWS = require('aws-sdk'); // Set the Region AWS.config.update({region: 'us-west-2'});

创建 IP 地址筛选条件

在本示例中,使用 Node.js 模块通过 Amazon SES 发送电子邮件。创建文件名为 ses_createreceiptfilter.js 的 Node.js 模块。按前面所示配置 SDK。

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

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create createReceiptFilter params var params = { Filter: { IpFilter: { Cidr: "IP_ADDRESS_OR_RANGE", Policy: "Allow" | "Block", }, Name: "NAME", }, }; // Create the promise and SES service object var sendPromise = new AWS.SES({ apiVersion: "2010-12-01" }) .createReceiptFilter(params) .promise(); // Handle promise's fulfilled/rejected states sendPromise .then(function (data) { console.log(data); }) .catch(function (err) { console.error(err, err.stack); });

要运行示例,请在命令行中键入以下内容。将在 Amazon SES 中创建筛选条件。

node ses_createreceiptfilter.js

此示例代码可在 GitHub 上的此处找到。

列出 IP 地址筛选条件

在本示例中,使用 Node.js 模块通过 Amazon SES 发送电子邮件。创建文件名为 ses_listreceiptfilters.js 的 Node.js 模块。按前面所示配置 SDK。

创建一个空参数对象。要调用 listReceiptFilters 方法,请创建一个 promise 来调用 Amazon SES 服务对象并传递参数。然后处理 promise 回调中的 response

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the promise and SES service object var sendPromise = new AWS.SES({ apiVersion: "2010-12-01" }) .listReceiptFilters({}) .promise(); // Handle promise's fulfilled/rejected states sendPromise .then(function (data) { console.log(data.Filters); }) .catch(function (err) { console.error(err, err.stack); });

要运行示例,请在命令行中键入以下内容。Amazon SES 会返回筛选条件列表。

node ses_listreceiptfilters.js

此示例代码可在 GitHub 上的此处找到。

删除 IP 地址筛选器

在本示例中,使用 Node.js 模块通过 Amazon SES 发送电子邮件。创建文件名为 ses_deletereceiptfilter.js 的 Node.js 模块。按前面所示配置 SDK。

创建对象,传递要删除的 IP 筛选条件的名称。要调用 deleteReceiptFilter 方法,请创建一个 promise 来调用 Amazon SES 服务对象并传递参数。然后处理 promise 回调中的 response

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the promise and SES service object var sendPromise = new AWS.SES({ apiVersion: "2010-12-01" }) .deleteReceiptFilter({ FilterName: "NAME" }) .promise(); // Handle promise's fulfilled/rejected states sendPromise .then(function (data) { console.log("IP Filter deleted"); }) .catch(function (err) { console.error(err, err.stack); });

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

node ses_deletereceiptfilter.js

此示例代码可在 GitHub 上的此处找到。