SESでメール送信
普通のSMTP送信と同じことを AWS API でできる 例
アプリ
↓ AWS SDK の SendEmail / SendRawEmail を呼ぶ
SES (送信)
↓ SMTP で配送
宛先ドメインのMX先 (Gmail等)
code:typescript
// AWS SDK (Node.js)
const ses = new AWS.SES();
await ses.sendEmail(params).promise();
主要なAPI
SendEmail
Subject, Body, From, To を構造化して送る(テキスト/HTML)
SendRawEmail
自分でSMTPメッセージ全体を組み立てて送る。添付や複雑なヘッダを使いたいとき
SendBulkTemplatedEmail
テンプレートを使った一斉送信
送信元として使うアドレスのドメインは 事前にSESで検証 (verify) しておく必要がある
verify 時に DKIM/SPF レコードを DNS に設定して、なりすまし防止する
メール送信の認証規格 (SPF/DKIM/DMARC)
「このドメインからのメールはこのIPからしか送らない」という宣言(TXTレコード)
メールヘッダに署名を付けて改竄検知(TXTレコード)
SPF/DKIM の結果をどう扱うかのポリシー(TXTレコード)
これらが設定されていないと、Gmail などの大手プロバイダにメールが届かない(迷惑メール扱いになる)
SES でドメインを verify する時に DKIM 設定もセットでやることが多い。