はじめに
DX 技術本部 の yu-yama です。
ややハマりしたので、同じ楔を踏む人が減ることを祈り、UP します。
TL;DR
AWS SDKではなく、SMTP インターフェイスを使用して送信しましょう。
2020年11月現在、 AWS SDK の Amazon SES API を用いて Amazon SES のメールを送信することはできません。
Amazon SES が東京リージョンにきました
Amazon SES 東京リージョン対応のお知らせ | Amazon Web Services ブログ
2020年7月、Amazon SES が東京リージョンに対応しました。
対応したことで、VPC エンドポイントを作成し、プライベートサブネット内からメールが送れるようになりました。
Amazon SES を使用してメールを送る方法は 2 種類ある
-
SMTP を使用する方法
-
AWS SDK を使用する方法
現在 AWS SDK から Amazon SES API 越しには送れない
- AWS に問い合わせて理解できたのですが、現在 VPC エンドポイントを作成できるのは SMTP エンドポイントのみ。
AWS SDK は API エンドポイントを用いてメールを送信しており、 SES API エンドポイントは VPC エンドポイントに対応していません。
最後に
プライベートサブネットから Amazon SES を用いてメールを送るときは、
-
VPC エンドポイント(サービス名:com.amazonaws.ap-northeast-1.email-smtp)を作成する
-
Amazon SES SMTP 認証情報を取得する
-
上記認証情報を利用して、E メールを送信する
の流れで送りましょう。
はやく API エンドポイント対応してくれ~