AWS SDK for JavaScript v2 のサポート終了が間近に迫っていることが発表
Amazon SES での受信ルールの使用
この Node.js コード例は以下を示しています。
受信ルールを作成および削除します。
受信ルールを受信ルールセットに整理します。
Amazon SES の受信ルールは、所有する E メールアドレスやドメインで受信した E メールの処理方法を指定します。受信ルールは、条件および順序指定されたアクションのリストで構成されます。受信メールの受信者が受信ルールの条件で指定された受信者と一致すると、Amazon SES は受信ルールに指定されているアクションを実行します。
Amazon SES を E メールレシーバーとして使用するには、少なくとも 1 つの有効な受信ルールセットが必要です。受信ルールセットは、検証済みのドメイン全体で受信するメールに対して Amazon SES でどのような処理を行うのかを指定する、順序が指定された受信ルールの集合です。詳細については、Amazon Simple Email Service デベロッパーガイドの Amazon SES による E メール受信の受信ルールの作成 および Amazon SES による E メール受信の受信ルールセットの作成を参照してください。
シナリオ
この例では、一連の Node.js モジュールを使用してさまざまな方法で E メールを送信します。Node.js モジュールは SDK for JavaScript を使用し、AWS.SES
クライアントクラスの次のメソッドを使用して E メールテンプレートを作成して使用します。
前提条件タスク
この例をセットアップして実行するには、まず次のタスクを完了する必要があります。
Node.js をインストールします。Node.js をインストールする方法の詳細については、Node.js ウェブサイト
を参照してください。 ユーザーの認証情報を使用して、共有設定ファイルを作成します。認証情報 JSON ファイルの提供の詳細については、「共有認証情報ファイルから Node.js に認証情報をロードする」を参照してください。
Amazon S3 受信ルールの作成
Amazon SES の受信ルールにはそれぞれ、順序どおりに並べられたアクションのリストが含まれます。この例では、メールメッセージを Amazon S3 バケットに配信する Amazon S3 アクションを使用して受信ルールを作成します。受信ルールのアクションの詳細については、Amazon Simple Email Service デベロッパーガイドのアクションのオプションを参照してください。
Amazon SES が Amazon S3 バケットに E メールを書き込むようにするには、Amazon SES に PutObject
許可を付与するバケットポリシーを作成します。このバケットポリシーの作成については、Amazon Simple Email Service デベロッパーガイドの Amazon SES に Amazon S3 バケットへの書き込みを許可するを参照してください。
この例では、Node.js モジュールを使用して Amazon SES で受信ルールを作成し、受信したメッセージを Amazon S3 バケットに保存します。ses_createreceiptrule.js
というファイル名で Node.js モジュールを作成します。前に示したように SDK を設定します。
受信ルールセット用に作成するのに必要な値を渡すためのパラメータオブジェクトを作成します。createReceiptRuleSet
メソッドを呼び出すには、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 createReceiptRule params var params = { Rule: { Actions: [ { S3Action: { BucketName: "S3_BUCKET_NAME", ObjectKeyPrefix: "email", }, }, ], Recipients: [ "DOMAIN | EMAIL_ADDRESS", /* more items */ ], Enabled: true | false, Name: "RULE_NAME", ScanEnabled: true | false, TlsPolicy: "Optional", }, RuleSetName: "RULE_SET_NAME", }; // Create the promise and SES service object var newRulePromise = new AWS.SES({ apiVersion: "2010-12-01" }) .createReceiptRule(params) .promise(); // Handle promise's fulfilled/rejected states newRulePromise .then(function (data) { console.log("Rule created"); }) .catch(function (err) { console.error(err, err.stack); });
この例を実行するには、コマンドラインに次のように入力します。Amazon SES により受信ルールが作成されます。
node ses_createreceiptrule.js
このサンプルコードは、このGitHub
受信ルールの削除
この例では、Node.js モジュールを使用して Amazon SES で E メールを送信します。ses_deletereceiptrule.js
というファイル名で Node.js モジュールを作成します。前に示したように SDK を設定します。
削除する受信ルールの名前を渡すためのパラメータオブジェクトを作成します。deleteReceiptRule
メソッドを呼び出すには、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 deleteReceiptRule params var params = { RuleName: "RULE_NAME" /* required */, RuleSetName: "RULE_SET_NAME" /* required */, }; // Create the promise and SES service object var newRulePromise = new AWS.SES({ apiVersion: "2010-12-01" }) .deleteReceiptRule(params) .promise(); // Handle promise's fulfilled/rejected states newRulePromise .then(function (data) { console.log("Receipt Rule Deleted"); }) .catch(function (err) { console.error(err, err.stack); });
この例を実行するには、コマンドラインに次のように入力します。Amazon SES により、受信ルールセットリストが作成されます。
node ses_deletereceiptrule.js
このサンプルコードは、このGitHub
受信ルールセットの作成
この例では、Node.js モジュールを使用して Amazon SES で E メールを送信します。ses_createreceiptruleset.js
というファイル名で Node.js モジュールを作成します。前に示したように SDK を設定します。
新しい受信ルールセットの名前を渡すためのパラメータオブジェクトを作成します。createReceiptRuleSet
メソッドを呼び出すには、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 newRulePromise = new AWS.SES({ apiVersion: "2010-12-01" }) .createReceiptRuleSet({ RuleSetName: "NAME" }) .promise(); // Handle promise's fulfilled/rejected states newRulePromise .then(function (data) { console.log(data); }) .catch(function (err) { console.error(err, err.stack); });
この例を実行するには、コマンドラインに次のように入力します。Amazon SES により、受信ルールセットリストが作成されます。
node ses_createreceiptruleset.js
このサンプルコードは、このGitHub
受信ルールセットの削除
この例では、Node.js モジュールを使用して Amazon SES で E メールを送信します。ses_deletereceiptruleset.js
というファイル名で Node.js モジュールを作成します。前に示したように SDK を設定します。
削除する受信ルールセットの名前を渡すためのオブジェクトを作成します。deleeReceiptRuleSet
メソッドを呼び出すには、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 newRulePromise = new AWS.SES({ apiVersion: "2010-12-01" }) .deleteReceiptRuleSet({ RuleSetName: "NAME" }) .promise(); // Handle promise's fulfilled/rejected states newRulePromise .then(function (data) { console.log(data); }) .catch(function (err) { console.error(err, err.stack); });
この例を実行するには、コマンドラインに次のように入力します。Amazon SES により、受信ルールセットリストが作成されます。
node ses_deletereceiptruleset.js
このサンプルコードは、このGitHub