在 Amazon SES 中使用 IP 位址篩選器進行電子郵件收據 - AWS SDK for JavaScript

我們宣布了即將推 end-of-support 出的 AWS SDK for JavaScript v2。我們建議您移轉至 AWS SDK for JavaScript v3。有關日期,其他詳細信息以及如何遷移的信息,請參閱鏈接的公告。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Amazon SES 中使用 IP 位址篩選器進行電子郵件收據

JavaScript code example that applies to Node.js execution

這個 Node.js 程式碼範例會說明:

  • 建立 IP 地址篩選條件以接受或拒絕來自一個 IP 地址或一個 IP 地址範圍的郵件。

  • 列出您的現有 IP 地址篩選條件。

  • 刪除 IP 地址篩選條件。

在 Amazon SES 中,篩選器是一種資料結構,其中包含名稱、IP 位址範圍,以及是否允許或封鎖來自該篩選器的郵件。您想要封鎖或允許的單一 IP 地址或一組 IP 地址範圍,是以無類別網域間路由選擇 (CIDR) 表示法來指定。如需 Amazon SES 如何接收電子郵件的詳細資訊,請參閱 Amazon SES 電子郵件接收概念 (位於 Amazon 簡單電子郵件服務開發人員指南

使用案例

在此範例中會使用一系列的 Node.js 模組,以多種不同方式傳送電子郵件。Node.js 模組使用 SDK JavaScript 來建立和使用用AWS.SES戶端類別的下列方法的電子郵件範本:

先決條件任務

若要設定和執行此範例,您必須先完成這些任務:

設定軟體開發套件

JavaScript 通過創建全局配置對象,然後為代碼設置區域來配置 SDK。在此範例中,區域會設為 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 模組。依前述內容設定軟體開發套件。

建立一個物件以傳遞定義 IP 篩選條件的參數值,包括篩選條件名稱、一個 IP 地址或要篩選的地址範圍,以及是否從篩選的地址允許或封鎖電子郵件流量。若要呼叫 createReceiptFilter 方法,請建立叫用 Amazon SES 服務物件的 promise 來傳遞參數。然後,在 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 模組。依前述內容設定軟體開發套件。

建立一個空參數物件。若要呼叫 listReceiptFilters 方法,請建立叫用 Amazon SES 服務物件的 promise 來傳遞參數。然後,在 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 模組。依前述內容設定軟體開發套件。

建立物件以傳遞要刪除的 IP 篩選條件名稱。若要呼叫 deleteReceiptFilter 方法,請建立叫用 Amazon SES 服務物件的 promise 來傳遞參數。然後,在 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。