Amazon SES での E メール受信に IP アドレスフィルターを使用する - AWS SDK for JavaScript

AWS SDK for JavaScript v2 の近日発表 end-of-support しました。AWS SDK for JavaScript v3 に移行することをお勧めします。日付、その他の詳細、移行方法については、リンク先の発表内容を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SES での E メール受信に IP アドレスフィルターを使用する

JavaScript code example that applies to Node.js execution

この Node.js コード例は以下を示しています。

  • IP アドレスまたは IP アドレスの範囲から発信されたメールを許可、または拒否する IP アドレスフィルターを作成します。

  • 現在の IP アドレスフィルターを一覧表示します。

  • IP アドレスフィルターを削除します。

Amazon SES では、フィルターは名前、IP アドレス範囲、およびそこからのメールを許可するかブロックするかどうかで構成されるデータ構造です。ブロックまたは許可する IP アドレスは、1 つの IP アドレスまたは IP アドレスの範囲としてクラスレスドメイン間ルーティング (CIDR) 表記で指定されます。Amazon SES の E メール受信方法の詳細については、Amazon Simple Email Service デベロッパーガイドの Amazon SES による E メール受信の概念を参照してください。

シナリオ

この例では、一連の Node.js モジュールを使用してさまざまな方法で E メールを送信します。Node.js モジュールは SDK for JavaScript を使用し、AWS.SES クライアントクラスの次のメソッドを使用して E メールテンプレートを作成して使用します。

前提条件タスク

この例をセットアップして実行するには、まず次のタスクを完了する必要があります。

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 で E メールを送信します。ses_createreceiptfilter.js というファイル名で Node.js モジュールを作成します。前に示したように SDK を設定します。

IP フィルターを定義するパラメータ値 (フィルター名、フィルタリングする IP アドレスまたはアドレス範囲、およびフィルター処理されたアドレスからの E メールトラフィックを許可するかブロックするかなど) を渡すオブジェクトを作成します。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 で E メールを送信します。ses_listreceiptfilters.js というファイル名で Node.js モジュールを作成します。前に示したように SDK を設定します。

空のパラメータオブジェクトを作成します。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 で E メールを送信します。ses_deletereceiptfilter.js というファイル名で Node.js モジュールを作成します。前に示したように SDK を設定します。

削除する 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にあります。