AWS SDK for JavaScript V3 API リファレンスガイドでは、AWS SDK for JavaScript バージョン3 (V3) のすべての API オペレーションについて詳しく説明します。
Amazon SES アイデンティティの管理
この Node.js コード例は以下を示しています。
Amazon SES で使用されている E メールアドレスとドメインを確認する方法。
Amazon SES アイデンティティにAWS Identity and Access Management(IAM) ポリシーを割り当てる方法。
AWS アカウントのすべての Amazon SES アイデンティティを一覧表示する方法。
Amazon SES で使用されているアイデンティティを削除する方法。
Amazon SES アイデンティティは、Amazon SES が E メールの送信に使用する E メールアドレスまたはドメインです。Amazon SES では、E メールアイデンティティを検証して、それを所有していることを確認し、他のユーザーに使用されないようにする必要があります。
Amazon SES の E メールアドレスとドメインを確認する方法の詳細については、Amazon Simple Email Service デベロッパーガイドのAmazon SESでのEメールアドレスとドメインの検証を参照してください。Amazon SES での送信認可の詳細については、Amazon SES 送信認可の概要を参照してください。
シナリオ
この例では、一連の Node.js モジュールを使用して Amazon SES のアイデンティティを検証および管理します。Node.js モジュールは、SES クライアントクラスの次のメソッドを使用し、SDK for JavaScript を使用して E メールアドレスとドメインを検証します。
前提条件タスク
この例をセットアップして実行するには、まず次のタスクを完了する必要があります。
-
これらの Node TypeScript の例を実行するようにプロジェクト環境を設定し、必要な AWS SDK for JavaScript とサードパーティーのモジュールをインストールします。「GitHub
」の指示に従います。 ユーザーの認証情報を使用して、共有設定ファイルを作成します。共有認証情報ファイルの提供の詳細については、「AWS SDK とツールのリファレンスガイド」の「共有設定ファイルおよび認証情報ファイル」を参照してください。
重要
これらの例は、ECMAScript6 (ES6) を使用してクライアントサービスオブジェクトとコマンドをimport/export する方法を示します。
これには Node.js バージョン13.x以降が必要です。Node.js の最新バージョンをダウンロードしてインストールするには、「Node.js ダウンロード
」を参照してください。 CommonJS 構文を使用する場合は、「JavaScript ES6/CommonJS 構文」を参照してください。
アイデンティティの一覧表示
この例では、Node.js モジュールを使用して Amazon SES で使用する E メールアドレスとドメインを一覧表示します。
libsディレクトリを作成し、ファイル名sesClient.jsでNode.js モジュールを作成します。以下のコードをコピーし、ペーストしてAmazon SES クライアントオブジェクトを作成します。REGION(地域)を、AWS地域に置き換えます。
import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "us-east-1"; // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };
このサンプルコードは、このGitHubに
ses_listidentities.jsというファイル名で Node.js モジュールを作成します。必要なクライアントとパッケージのインストールを含め、前述のようにSDKを設定します。
IdentityType クライアントクラスの ListIdentitiesCommand メソッドに SES とその他のパラメータを渡すオブジェクトを作成します。ListIdentitiesCommandメソッドを呼び出すには、Amazon SES サービスオブジェクトを起動し、パラメータオブジェクトを渡します。
返されるdataには、IdentityTypeパラメーターで指定されたドメインIDの配列が含まれます。
注記
IdentityTypeを「EmailAddress」または「Domain」のIDタイプに置き換えます。
import { ListIdentitiesCommand } from "@aws-sdk/client-ses"; import { sesClient } from "./libs/sesClient.js"; const createListIdentitiesCommand = () => new ListIdentitiesCommand({ IdentityType: "EmailAddress", MaxItems: 10 }); const run = async () => { const listIdentitiesCommand = createListIdentitiesCommand(); try { return await sesClient.send(listIdentitiesCommand); } catch (err) { console.log("Failed to list identities.", err); return err; } };
この例を実行するには、コマンドプロンプトで以下を入力します。
node ses_listidentities.js
このサンプルコードは、このGitHubに
E メールアドレスアイデンティの検証
この例では、Node.js モジュールを使用して Amazon SES で使用する E メールの送信者を検証します。
libsディレクトリを作成し、ファイル名sesClient.jsでNode.js モジュールを作成します。以下のコードをコピーし、ペーストしてAmazon SES クライアントオブジェクトを作成します。REGION(地域)を、AWS地域に置き換えます。
import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "us-east-1"; // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };
このサンプルコードは、このGitHubに
ses_verifyemailidentity.jsというファイル名で Node.js モジュールを作成します。前述のように、必要なクライアントとパッケージのダウンロードを含め、SDKを設定します。
EmailAddress クライアントクラスの VerifyEmailIdentityCommand メソッドに SES パラメータを渡すオブジェクトを作成します。VerifyEmailIdentityCommandメソッドを呼び出すには、Amazon SES クライアントサービスオブジェクトを起動し、パラメータを渡します。
注記
EMAIL_ADDRESS を name@example.com などの E メールアドレスに置き換えます。
// Import required AWS SDK clients and commands for Node.js import { VerifyEmailIdentityCommand } from "@aws-sdk/client-ses"; import { sesClient } from "./libs/sesClient.js"; const EMAIL_ADDRESS = "name@example.com"; const createVerifyEmailIdentityCommand = (emailAddress) => { return new VerifyEmailIdentityCommand({ EmailAddress: emailAddress }); }; const run = async () => { const verifyEmailIdentityCommand = createVerifyEmailIdentityCommand(EMAIL_ADDRESS); try { return await sesClient.send(verifyEmailIdentityCommand); } catch (err) { console.log("Failed to verify email identity.", err); return err; } };
この例を実行するには、コマンドプロンプトで以下を入力します。検証のためにドメインが Amazon SES に追加されます。
node ses_verifyemailidentity.js
このサンプルコードは、この GitHub に
ドメイン ID の検証
この例では、Node.js モジュールを使用して Amazon SES で使用する E メールのドメインを検証します。
libsディレクトリを作成し、ファイル名sesClient.jsでNode.js モジュールを作成します。以下のコードをコピーし、ペーストしてAmazon SES クライアントオブジェクトを作成します。REGION(地域)を、AWS地域に置き換えます。
import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "us-east-1"; // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };
このサンプルコードは、このGitHubに
ses_verifydomainidentity.jsというファイル名で Node.js モジュールを作成します。必要なクライアントとパッケージのインストールを含め、前述のようにSDKを設定します。
Domain クライアントクラスの VerifyDomainIdentityCommand メソッドに SES パラメータを渡すオブジェクトを作成します。VerifyDomainIdentityCommandメソッドを呼び出すには、Amazon SES クライアントサービスオブジェクトを起動し、パラメータを渡します。
注記
この例では、必要なAWSサービス V3 パッケージクライアント、V3 コマンドをインポートして使用し、また非同期/待機パターンでsendメソッドを使用します。この例は、代わりに少し変更を加えてV2コマンドで作成できます。詳細については、「v3 コマンドの使用」を参照してください。
注記
DOMAIN_NAME をドメイン名に置き換えます。
import { VerifyDomainIdentityCommand } from "@aws-sdk/client-ses"; import { getUniqueName, postfix, } from "@aws-doc-sdk-examples/lib/utils/util-string.js"; import { sesClient } from "./libs/sesClient.js"; /** * You must have access to the domain's DNS settings to complete the * domain verification process. */ const DOMAIN_NAME = postfix(getUniqueName("Domain"), ".example.com"); const createVerifyDomainIdentityCommand = () => { return new VerifyDomainIdentityCommand({ Domain: DOMAIN_NAME }); }; const run = async () => { const VerifyDomainIdentityCommand = createVerifyDomainIdentityCommand(); try { return await sesClient.send(VerifyDomainIdentityCommand); } catch (err) { console.log("Failed to verify domain.", err); return err; } };
この例を実行するには、コマンドプロンプトで以下を入力します。検証のためにドメインが Amazon SES に追加されます。
node ses_verifydomainidentity.js
このサンプルコードは、この GitHub に
アイデンティティの削除
この例では、Node.js モジュールを使用して、Amazon SES で使用されている E メールアドレスまたはドメインを削除します。
libsディレクトリを作成し、ファイル名sesClient.jsでNode.js モジュールを作成します。以下のコードをコピーし、ペーストしてAmazon SES クライアントオブジェクトを作成します。REGION(地域)を、AWS地域に置き換えます。
import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "us-east-1"; // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };
このサンプルコードは、このGitHubに
ses_deleteidentity.jsというファイル名で Node.js モジュールを作成します。必要なクライアントとパッケージのインストールを含め、前述のようにSDKを設定します。
Identity クライアントクラスの DeleteIdentityCommand メソッドに SES パラメータを渡すオブジェクトを作成します。DeleteIdentityCommand メソッドを呼び出すには、Amazon SES クライアントサービスオブジェクトを起動するためのrequestを作成し、パラメータを渡します。
注記
この例では、必要なAWSサービス V3 パッケージクライアント、V3 コマンドをインポートして使用し、また非同期/待機パターンでsendメソッドを使用します。この例は、代わりに少し変更を加えてV2コマンドで作成できます。詳細については、「v3 コマンドの使用」を参照してください。
注記
IDENTITY_EMAIL を削除対象の ID の E メールアドレスに置き換えます。
import { DeleteIdentityCommand } from "@aws-sdk/client-ses"; import { sesClient } from "./libs/sesClient.js"; const IDENTITY_EMAIL = "fake@example.com"; const createDeleteIdentityCommand = (identityName) => { return new DeleteIdentityCommand({ Identity: identityName, }); }; const run = async () => { const deleteIdentityCommand = createDeleteIdentityCommand(IDENTITY_EMAIL); try { return await sesClient.send(deleteIdentityCommand); } catch (err) { console.log("Failed to delete identity.", err); return err; } };
この例を実行するには、コマンドプロンプトで以下を入力します。
node ses_deleteidentity.js
このサンプルコードは、このGitHubに