翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon SESSMTP認証情報の取得
SES SMTP インターフェイスにアクセスするには Amazon SESSMTP認証情報が必要です。
SES SMTP インターフェイスを介して E メールを送信するために使用する認証情報は、各 AWS リージョンに固有です。SES SMTP インターフェイスを使用して複数のリージョンで E メールを送信する場合は、使用するリージョンごとに一連のSMTP認証情報を生成する必要があります。
SMTP パスワードはシー AWS クレットアクセスキーとは異なります。認証情報の詳細については、「Amazon SES 認証情報の種類」を参照してください。
注記
SMTP エンドポイントは現在、アフリカ (ケープタウン)、アジアパシフィック (ジャカルタ)、欧州 (ミラノ)、イスラエル (テルアビブ)、中東 (バーレーン) では利用できません。
SES コンソールを使用したSESSMTP認証情報の取得
以下のSESワークフローを使用してコンソールを使用してSMTP認証情報を生成すると、IAMコンソールに移動して、呼び出す適切なポリシーを持つユーザーを作成しSES、そのユーザーに関連付けられたSMTP認証情報を提供します。
要件
IAM ユーザーはSESSMTP認証情報を作成できますが、SESSMTP認証情報は を使用して作成されるため、ユーザーのポリシーはそれIAM自体を使用するアクセス許可を付与する必要がありますIAM。IAM ポリシーでは、iam:ListUsers
、、iam:CreateUser
、iam:CreateAccessKey
および のIAMアクションを実行できるようにする必要がありますiam:PutUserPolicy
。コンソールを使用してSESSMTP認証情報を作成しようとしたときに、IAMユーザーにこれらのアクセス許可がない場合、アカウントが「iam: を実行する権限がない」というエラーが表示されますListUsers。
SMTP 認証情報を作成するには
-
にサインイン AWS Management Console し、 で Amazon SESコンソールを開きますhttps://console.aws.amazon.com/ses/
。 -
左側のナビゲーションペインでSMTP設定を選択します。これにより、簡易メール転送プロトコル (SMTP) 設定ページが開きます。
-
右上隅でSMTP認証情報の作成 を選択します。IAMコンソールが開きます。
-
(オプション) 既に作成したSMTPユーザーを表示、編集、または削除する必要がある場合は、右下隅にある既存のSMTP認証情報の管理を選択します。IAMコンソールが開きます。SMTP 認証情報の管理に関する詳細は、以下の手順に従って提供されます。
-
のユーザーを作成するSMTPには、ユーザー名フィールドにSMTPユーザーの名前を入力します。または、このフィールドに提供されているデフォルト値を使用できます。完了したら、右下隅の [ユーザーを作成] を選択します。
-
SMTP パスワードで表示 を選択します。SMTP認証情報が画面に表示されます。
-
[.csv ファイルをダウンロード] を選択してこれらの認証情報をダウンロードし、安全な場所に保管します。このダイアログボックスを閉じると、認証情報の表示や保存はできなくなります。
-
SES コンソールに戻る を選択します。
この手順を使用して作成したSMTP認証情報のリストは、アクセス管理のIAMコンソールでユーザーを選択し、検索バーを使用してSMTP認証情報を割り当てたすべてのユーザーを検索できます。
IAM コンソールを使用して既存のSMTPユーザーを削除することもできます。ユーザーの削除の詳細については、「入門ガイド」のIAM「ユーザーの管理」を参照してください。 IAM
SMTP パスワードを変更する場合は、IAMコンソールで既存のSMTPユーザーを削除します。次に、新しいSMTP認証情報セットを生成するには、前の手順を完了します。
既存のSESSMTP認証情報を変換して AWS 認証情報を取得する
IAM インターフェイスを使用して設定したユーザーがいる場合は、ユーザーのSESSMTP認証情報をその AWS ユーザーの認証情報から取得できます。
重要
一時的な AWS 認証情報を使用してSMTP認証情報を取得しないでください。SES SMTP インターフェイスは、一時的なセキュリティSMTP認証情報から生成された認証情報をサポートしていません。
IAM ユーザーが SESSMTPインターフェイスを使用して E メールを送信できるようにするには、以下を実行します。
-
このセクションで提供されているアルゴリズムを使用して、認証情報SMTPからユーザーの AWS 認証情報を取得します。認証情報から AWS 開始するため、SMTPユーザー名は AWS アクセスキー ID と同じであるため、SMTPパスワードを生成するだけで済みます。
-
次のポリシーをIAMユーザーに適用します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ses:SendRawEmail", "Resource": "*" } ] }
SES で を使用する方法の詳細についてはIAM、「」を参照してくださいAmazon SESでの Identity and Access Management。
注記
任意のIAMユーザーのSESSMTP認証情報を生成できますが、SMTP認証情報を生成するときに別のIAMユーザーを作成することをお勧めします。特定の目的でユーザーを作成するのが適切な方法の詳細については、IAM「ベストプラクティス」を参照してください。
次の擬似コードは、 AWS シークレットアクセスキーをSESSMTPパスワードに変換するアルゴリズムを示しています。
// Modify this variable to include your AWS secret access key key = "
wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
"; // Modify this variable to refer to the AWS Region that you want to use to send email. region = "us-west-2
"; // The values of the following variables should always stay the same. date = "11111111"; service = "ses"; terminal = "aws4_request"; message = "SendRawEmail"; version = 0x04; kDate = HmacSha256(date, "AWS4" + key); kRegion = HmacSha256(region, kDate); kService = HmacSha256(service, kRegion); kTerminal = HmacSha256(terminal, kService); kMessage = HmacSha256(message, kTerminal); signatureAndVersion = Concatenate(version, kMessage); smtpPassword = Base64(signatureAndVersion);
一部のプログラミング言語には、IAMシークレットアクセスキーをSMTPパスワードに変換するために使用できるライブラリが含まれています。このセクションでは、Python を使用して AWS シークレットアクセスキーをSESSMTPパスワードに変換するために使用できるコード例を示します。
注記
次の例では、Python 3.6 で導入されたf 文字列を使用しています。 古いバージョンでは使用できません。
現在、Python SDK (Boto3) は 2.7 および 3.6 (以降) を正式にサポートしています。ただし、2.7 のサポートは廃止され、2021 年 7 月 15 日に削除されるため、少なくとも 3.6 にアップグレードする必要があります。