2021/05/26

AWS SESでメールを送信する設定方法は?メリットや送る方法を紹介します!

 
  

AWS SESとは?


AWS SESはSimple Email Serviceの略で、メールを送ることができるサービスです。ちょっとしたお知らせのメールや注文確認メール、メールマガジン配信といったさまざまなメール送信が可能になります。

AWS SESのメリット

AWS SESは、料金が安い、導入時の手間がほとんどないといったメリットがあげられます。

例えば、東京リージョンにおける料金は、EC2から送信する場合は、毎月送信するEメールのうち最初の62,000通につき0USD、それ以降 1,000通ごとに0.10USDとなっています。

また、受信についても受信する最初の1,000通の Eメールにつき0USD、それ以降1,000通ごとに0.10USDのため、かなり安いです。

また導入時については、AWSアカウントとメールアドレスがあれば、設定することによってメールの送信が可能になります。面倒な契約や手続き、複雑なメール送信設定・受信設定などを実施する必要はありません。

出典:Amazon SES 料金|aws公式サイト
参照:https://aws.amazon.com/jp/ses/pricing/

AWS SESからメールを送ってみよう


AWS SESでは、マネージメントコンソールからメールアドレスを利用してメールの送信を試すことが可能です。AWSアカウントとメールアドレスを準備して、メール送信を試してみましょう。

メールアドレスを設定する

AWSにログインし、SESを開きます。メールアドレスを設定するために、左側のEmail Addressesを選択し、Verify a New Email Addressをクリックします。

Verify a New Email Addressというモーダルが表示され、Email Addressに今回使用したいメールアドレスを登録します。メールアドレスを登録し、Verify This Email Addressボタンをクリックすると、Verification Email Sentというモーダルに変わります。

次は今回使用するメールアドレスの認証登録をします。

メールアドレスの認証をする

先程のメールアドレスの設定より、認証用のメールが送られました。メールボックスから、タイトルが「Amazon Web Services – Email Address Verification Request in region 作成したリージョン」を探します。

以下のようなメールが来ているため、【URL】をクリックします。

Dear Amazon Web Services Customer,

We have received a request to authorize this email address for use with Amazon SES and Amazon Pinpoint in region US East (N. Virginia). If you requested this verification, please go to the following URL to confirm that you are authorized to use this email address:
【URL】

Your request will not be processed unless you confirm the address using this URL. This link expires 24 hours after your original verification request.
・
・
・



クリックすると認証が完了です。先程のメールアドレスの設定画面を開き、今回のメールアドレスのVerification Statusがverifiedに変わったことを確認しましょう。

テストメールを送信してみる

テストメールを送信するために、宛先となるメールアドレスの認証を実施します。AWS SESではサンドボックスを解除しない限り、認証されているアドレス以外に送信できないためです。先程と同じ手順で別のアドレスの設定、認証を実施します。

送信先のメールアドレスの設定、認証が完了したら、メールアドレスを設定した画面より、今回送信元として使用しているメールアドレスを選択し、Send a Test Emailをクリックします。Send Test Emailというモーダルが開くことを確認し、以下のように送ってみましょう。

To: 送信先のメールアドレス
Subject:テストタイトル
Body:これはテストメールです。



送信するとすぐにメールが届きます。以上でAWS SESのテストメール確認が完了です。

AWS SESでサンドボックスを解除する


AWS SESからメールを送れるようになりましたが、送信先のメールアドレスを設定しないと送ることができません。メールアドレスを設定しなくても送ることができるようにするためには、サンドボックスの解除が必要です。

サンドボックスの解除方法

サンドボックスを解除するために、AWS SESよりSending Statisticsを選択します。Edit your account detailsを選択し、以下の項目を入力します。

【Enable production access】
サンドボックスを解除するためにYesを選択しましょう。

【Mail Type (メールの種類)】
送信するメールの種類です、注文完了メールだと処理結果を知らせることから、Transactionalになりますし、メルマガだとMarketingになります。

【Website URL】
メールに関わるWebサイトのURLを記載します。

【Use case description (ユースケースの説明)】
AWS SESで送るメールはなんのために使用するのか、といった具体的な内容を記載します。
以下の項目について記載してほしいとAWSよりリクエストされていますので、必ず含めるようにしましょう。
・メーリングリストの構築または処理する方法
・バウンスや苦情を処理する方法
・受取人がお客様からのEメールの受信をオプトアウトする方法
・このリクエストで指定した送信レートまたは送信クォータを選択した方法

【Additional contact addresses (追加の連絡先アドレス)】
追加で連絡が可能なアドレスを記載します。

【Preferred contact language (優先する連絡先言語)】
返信は日本語か英語のどちらがいいかという内容です。

全ての記入が完了したら、Submit for reviewボタンを押しましょう。問題がなければ、1日ほどでサンドボックスが解除されるはずです。

AWS SESでプログラムからメールを送る


AWS SESで画面からテストメールを送ることはできました。最後に、プログラムからAWS SESを利用してメールを送信する方法を紹介します。

プログラムからメールを送信するためには、AWS SDKをサーバーに設定しておく必要があります。今回はRubyでのプログラムを紹介するため、AWS SDK for Rubyをインストールしておきましょう。

AWS SESでメールを送るプログラム

AWS SESを利用してメールを送るサンプルプログラムを紹介します。AWS SDKを使用しますので、事前にインストールと設定をしておきましょう。

プログラムは簡単です。

require 'aws-sdk'

sender = "送信元のアドレスを設定"
recipient = "送信先のアドレスを設定"
awsregion = "リージョンを設定"

subject = "タイトルを設定"
textbody = "送信したいメール本文を設定"

encoding = "UTF-8"
ses = Aws::SES::Client.new(region: awsregion)

  resp = ses.send_email({
    destination: {
      to_addresses: [
        recipient,
      ],
    },
    message: {
      body: {
        text: {
          charset: encoding,
          data: textbody,
        },
      },
      subject: {
        charset: encoding,
        data: subject,
      },
    },
  source: sender,
  })



このプログラムを実行すれば、無事にメールがプログラムから送信されます。

AWS SESでメールを送ってみよう!


AWS SESでメールを送信する方法について紹介してきました。かなり簡単に短時間でメールを送る仕組みを作成できます。ぜひメールを送る必要がある場合はAWS SESを検討してみてはいかがでしょうか。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】