はじめに
- 前回からのメールサーバーの構築中の続き
送信元の確認
- 送信元メールアドレス の検証を行う。「Verify a New Email Address」ボタンをクリックする。

- 指定する送信元メールアドレスは受信可能なメールアドレスを指定する必要がある。「Verify This Email Address」ボタンをクリックする

- 「close」ボタンをクリックする

- 登録した送信メールアドレスに検証要求メールが送信される。承認するためリンクをクリックすると、認証すると、「検証に成功しました」というメッセージがブラウザに表示されます。

AmazonSESでEメールを受信する設定
- 確認済みのドメインに代わってAmazonSESを使用してメッセージを受信する場合、Amazon SESを設定して、メッセージをAmazon S3バケットに配信したり、AWS Lambda関数を介してカスタムコードを呼び出したり、AmazonSNSに通知を公開したりできます。- - 受信したくないメッセージをドロップまたはバウンスするようにAmazonSESを設定することもできます。
- 受信ルールを定義することにより、メールに何が起こるかを制御します。

アカウントの作成を行う。[アカウント名]@[ドメイン名]を入力して「Add Recipient」ボタンをクリックする

追加したアカウントのステータスが「Verifed」になっていることを確認したら画面右下にある「Next Step」ボタンをクリックする

Actionsで「Lamda」を選択する

Lamdaの関数を作成する必要があることに気づきいったんLamdaで下記のロジックで送信できるか検証する。
import boto3
import json
SOURCE_MAIL = "<Fromのアドレスを指定する>"
TO_MAIL = "<Toのアドレスを指定する>"
REGION = "us-east-1"
def send_email(source, to, subject, body):
client = boto3.client('ses',
aws_access_key_id = "アクセスキー",
aws_secret_access_key = "シークレットアクセスキー",
region_name = "us-east-1"
)
response = client.send_email(
Source = SOURCE_MAIL,
Destination = {
'ToAddresses': [
TO_MAIL,
]
},
Message = {
'Subject': {
'Data': 'テストメール',
'Charset': 'UTF-8'
},
'Body': {
'Text': {
'Data': 'テスト本文',
'Charset': 'UTF-8'
}
}
}
)
return response
def lambda_handler(event, context):
email = "error occured"
message = json.dumps(event, indent = 4)
r = send_email(SRC_MAIL, DST_MAIL, email, message)
return r
検証結果
- Lamdaからメールが送信できたが、なりすましメールと判定されてメールが受信された。今日はここまでにして明日調べる
