AWS SDK for JavaScript v2 のサポート終了が間近に迫っていることが発表
Amazon SES での E メール受信に IP アドレスフィルターを使用する
この 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 メールテンプレートを作成して使用します。
前提条件タスク
この例をセットアップして実行するには、まず次のタスクを完了する必要があります。
Node.js をインストールします。Node.js をインストールする方法の詳細については、Node.js ウェブサイト
を参照してください。 ユーザーの認証情報を使用して、共有設定ファイルを作成します。共有認証情報ファイルの提供の詳細については、共有認証情報ファイルから Node.js に認証情報をロードする を参照してください。
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