こんにちは、Ryuです!

今回はAWS SESを使ってメール送信する手順を画面スクショ付きで分かりやすく説明していきます。

実際の開発ではIaCでリソースをコード管理したり、API GatewayやEvent Bridge経由で自動送信したりすると思いますが、今回は入門編ということで簡単にコンソール上で手動で構築してAWS SESの基本を理解することに焦点を当てています。

AWS SESとは?

サービス概要

AWS SES(Simple Email Service)は、Amazon Web Servicesが提供するクラウドベースのメール送信・受信サービスです。スケーラブルかつコスト効率良くメールを送信する手段を提供します。

主な特徴と機能

高いスケーラビリティ: 需要に合わせて自動でスケールアップできるため、大量のメール送信にも柔軟に対応可能。

コストパフォーマンス: 従量課金制で、利用量に応じた料金体系のため、初期投資が抑えられ、コスト管理がしやすい。

簡単な統合: SMTPインターフェースやAPIを利用して、既存のアプリケーションやシステムに簡単に組み込むことができる。また、AWSの他のサービス(例:Lambda、SNS、CloudWatchなど)との連携も容易。

受信機能: 単なる送信に留まらず、受信メールの処理も行え、カスタムルールによる自動処理が可能。

セキュリティと信頼性: IPアドレスのウォームアップや送信先のフィードバックループ、DKIM、SPFなどの認証技術により、高いメール到達率と信頼性を実現。

利用シーン

トランザクションメール: パスワードリセット、注文確認、配送通知など、ユーザーに直接連絡するメールの送信。

マーケティングメール: ニュースレターやキャンペーン情報の配信。

システム通知: サーバーのアラートやログ通知など、システム間の連携やモニタリング用途。

導入時のポイント

認証の設定: DKIMやSPFの設定は、メールの信頼性向上のために重要。

IPウォームアップ: 大量送信を行う際は、送信IPのウォームアップを計画的に行い、スパム判定を回避する必要がある。

レート制限: アカウントごとに送信制限があるため、利用前に制限値を確認し、必要に応じて引き上げ申請を行う。

AWSコンソールから構築してみる

AWSコンソールを開き、AWS SESの使用を開始します。

自身のメールアドレスを入力します。

このドメインには自身が持っているドメイン(キャリアメールのドメインだったりwebサイトのドメインだったり)を入力します。「gmail.com」でも大丈夫です。

MAIL FROM ドメインは送信元の名前をどうするかという項目なので一旦「test」などで大丈夫です。

配信性能の強化はお好みでオンにしてください。

SESの基本を理解できたらこういったオプションでなにができるか試してみるといいと思います!

以上でセットアップ完了です!

すると設定したメールアドレスに認証メールが届くのでこちらのリンクをクリックして認証します。

認証が完了するとこのような画面に遷移します。

メールを送信してみる

テストメールを送信してみましょう。

画面の「テストEメールを送信」をクリックしてみます。

シナリオは「カスタム」を選択し、カスタム受信者の箇所に自分のメールアドレスを入れます。
件名や本文に適当な値を設定して送信します。

自分宛てにメールが届いていたら成功です!

まとめ

SESで簡単にメールを送信してみました。

このあとは実際のドメインを登録して諸々の制限を解除してAPI Gateway経由などでメール飛ばす記事など作成しようかなと思っています。