kazu22002の技術覚書

PHPer, Golang, AWS エンジニアの日々

Amazon SESが気になっていたので試してみた

f:id:kazu22002:20201125222443p:plain

大量にメールを送受信する場合は、メールサーバーを立ち上げたほうがいいかもしれないが、そこまでの量のメールを送信するケースがない場合にサーバー構築が面倒なため適当なサービスを使ってみたいと思っていました。

問い合わせフォームをいろいろと作っているところ、気になっていたSESを使ってみました。

独自ドメインを用いたメール送信までの記事になります。

Amazon Simple Email Service

Amazon Simple Email Service enables you to send and receive email using a reliable and scalable email platform.

「信頼性と拡張のあるemailプラットフォームを使用して、emailを送受信できます」みたいです。

料金体系は従量制でAmazon EC2 でホストされているアプリケーションなら無料枠がありますね。

aws.amazon.com

送受信する各 1,000 通の E メールにつき、0.10USD。ec2のt4g.microで約月8USDでですね。データとか通信量や管理費を考えて、月10万通以上ならec2でメールサーバーを立てた方がいいのかな。

最近はメールよりプッシュ通知のほうが主流と思っていますので、問い合わせ機能で使うことを考えるとSESは十分有用だと思います。

ドメイン登録

Amazon SESを使うための登録作業をしていきます。

今回は独自ドメインを使用したいので、SESのサービスを開き作業していきます。

  1. Domainsへ遷移
  2. 「Verify a New Domain」をクリック
  3. 使用するドメインを入力し、「card-design-preview.com」をチェック
  4. 「Verify This Domain」クリック
  5. 表示される内容をメモ(DNSに設定をおこなう内容になる)
  6. 一覧が表示される

f:id:kazu22002:20201125221722p:plain

f:id:kazu22002:20201125221734p:plain

f:id:kazu22002:20201125221743p:plain

f:id:kazu22002:20201125221804p:plain

一覧にstatusがpending verificationと表示されるため、まだ使用できない状態です。DNSレコードを登録することで送信可能な状態になります。

DNSレコードの設定

個人的にお名前.comで取得しているドメインがあるため、今回はお名前.comに設定を行いました。

参考リンクを貼っておくので、今回は省きます。

SESのステータス変更を確認し、テスト送信

DNSレコードの設定が正しくできると、Verification Statusがverifiedに代わり送信可能になりました。

f:id:kazu22002:20201125221842p:plain

送信できるかテストしたいところですが、まだSandbox状態のため登録されたEmailAddressにのみ送信可能な状態です。

  1. EmailAddressesに移動
  2. 「Verify a New Email Address」をクリックし、Email Addressに使用するアドレスを入力
  3. 「Verify This Email Address」をクリックする
  4. 登録したメールアドレスに確認メールが送信される
  5. 受信したメールから確認用のURLへ遷移
  6. Verification Statusがpendingからverifyに代わり、完了

この状態で、登録したメールアドレスにメールをテスト可能になります。

Domainsに戻り、「Send a Test Email」からテスト送信して、送られれば完了です。

f:id:kazu22002:20201125221859p:plain

f:id:kazu22002:20201125221909p:plain

実際に登録したドメインを利用したい場合はAWSの審査が必要になるみたいです。スパム等の対策みたいです。

東京リージョン

2020年の7月以降に東京リージョンで使えるようになっています。

aws.amazon.com

記事を探すと海外リージョンが多いですね。

雑記

ec2インスタンスのt4gインスタンスが出ているのを初めて知りました。

情報を追ってないのがよくわかります。。。

参考

dev.classmethod.jp

tech-dive.xyz