Amazon SES の送信設定

前回投稿で、Amazon SESをセットアップしました。送信の設定を行います。

Amazon SES では、Amazon SES コンソール、Amazon SES Simple Mail Transfer Protocol (SMTP) インターフェイス、または Amazon SES API を使用して E メールを送信することができます。

通常、テスト E メールを送信して送信アクティビティを管理する場合は、コンソールを使用します。
一括 E メールを送信する場合には、SMTP インターフェイスまたは API を使用します。

SMTP 対応のソフトウェアパッケージ、アプリケーション、またはプログラミング言語を使用し、Amazon SES を介して E メールを送信する場合や、Amazon SES を既存のメールサーバーに統合する場合には、Amazon SES SMTP インターフェイスを使用します。

① Amazon SES コンソールを開きます

② ナビゲーションペインで、[SMTP Settings] を選択します。

メーラーを設定するときに参照

※ 緑の破線部分が設定時に必要です。以下の説明を参照。

③ ユーザー名・パスワードの取得(IAMユーザーのアクセスキーとシークレットアクセスキー)

 SESのSMTPインターフェースを使う場合、SMTP認証(SMTP AUTH)は必須。
 SMTP認証はユーザー名とパスワードのペアで認証されますが、SESはそれにIAMユーザーのアクセスキーとシークレットアクセスキーを利用します。

上記SMTP設定の画面で、サーバー名とポートの値を書き留めます。SMTP に接続するには、サーバー名とポートを使用します

サーバー名 : email-smtp.us-west-2.amazonaws.com
ポート: 25、465、または 587

【AWSドキュメントでの説明】

  • Amazon SES Classic SMTPインターフェースにアクセスするには、Amazon SES ClassicSMTPのユーザー名とパスワードが必要です。
  • Amazon SES Classic SMTPインターフェースを介してEメールを送信するために使用するクレデンシャルは、AWSリージョンごとに固有です。
  • Amazon SES Classic SMTPインターフェースを使用して複数のリージョンでEメールを送信する場合は、使用する予定のリージョンごとにSMTP認証情報のセットを生成する必要があります。
  • Amazon SES Classicコンソールを使用してSMTPクレデンシャルを生成すると、Amazon SES Classicコンソールは、Amazon SES Classicを呼び出すための適切なポリシーを持つIAMユーザーを作成し、そのユーザーに関連付けられたSMTPクレデンシャルを提供します。

④ [Create My SMTP Credentials] を選択し、SMTP 認証情報を生成する手順に進みます。

 ※ コンソールを使用してAmazonSES Classic SMTPクレデンシャルを作成しようとしたときに、IAMユーザーにアクセス許可がない場合、
   アカウントに「iam:ListUsersの実行が許可されていません」というエラーが表示されます。

⑤ SMTPユーザーを作成します。(SMTPユーザーの名前を入力するか、指定されているデフォルト値を使用できます)[作成]を選択します。

SMTPユーザーを作成
認証情報のダウンロード

[ユーザーのSMTP認証情報の表示]をクリック。SMTPクレデンシャルが画面に表示されます。
※ このダイアログボックスを閉じた後は資格情報を表示または保存できないため、これらの資格情報をダウンロードまたはコピーして安全な場所に保存してください。

※ ダウンロードした「credentials.csv」に記載ある

「閉じる」クリックで、IAMコンソールにアクセスします。
既存のSMTPクレデンシャルのリストを表示するため、ナビゲーションペインの[アクセス管理]で、[ユーザー]を選択します。
検索バーを使用して、「ses-smtp-user」というテキストを含むすべてのユーザーを検索します。

IAMダッシュボード
「ses-smtp-user」というテキストを含むすべてのユーザーを確認

※ SMTPクレデンシャルをローテーションする場合は、上記の手順を実行して、SMTPクレデンシャルの新しいセットを生成します。
  次に、新しいクレデンシャルをテストして、期待どおりに機能することを確認します。
  最後に、IAMコンソールで古いSMTPクレデンシャルに関連付けられているIAMユーザーを削除します。

④ 使用する接続方法 (STARTTLS または TLS ラッパー) に基づいて、E メールの送信元の Amazon SES SMTP ポートを選択します。

 ※ ポート=465:暗黙的TLS ポート=587:StartTLS

 デフォルトで、すべてのEC2インスタンスのポート 25 アウトバウンドトラフィックを制限します。
 SMTP ポート 25 を使用する必要がある場合は、この制限の解除をリクエストできます。または、E メールを送信する別のポートを選択できます。

⑤ Amazon SES SMTP エンドポイントに接続し、E メールの送信元のポート経由で接続をテストします。たとえば、telnet コマンドを実行できます。

 $ telnet email-smtp.us-west-2.amazonaws.com 465
  Connected to email-smtp.eu-west-1.amazonaws.com.

EC2インスタンスからSMTPインターフェースを利用する条件

  1. SMTP認証を使い、IAMユーザーのアクセスキーとシークレットアクセスキーを指定する
  2. TLSを使う
  3. SESのエンドポイントを指定する
  4. ポート番号を587に指定する(smtp=25の場合には、E メール送信制限解除申請が必要)
  5. 送信元メールアドレスにはSESで認証済みのものを指定する

 

今回はメール送信のAWSサービスである、AmazonSESの内容だったのですが、 次回はメール受信のほうのサービス「AmazonWorkMail」をセットアップします。