メール送信を出来るようにする(AWS SES)

目的

WordPressで問い合わせフォームを作ろうとして、Contact Form 7プラグインを導入しました。これが、送信元のメールアドレスがWordPress自体のドメインでなければならないという制約があったので、独自メールアドレスを利用できるSMTPサーバが必要になりました。smtpサーバ構築しようと思っていたのですが、心が折れたのでAWS SESを利用してみました。個人的メモなので、細かいところの説明はしません。
メールを送信するだけの設定でいっかと思ってましたが、メール受信も行う設定もしています。(受信メールはスマートではない)

構築した内容

  • 独自ドメインからSMTPを利用したメールを送信出来る
  • AWS S3に受信メールを保管する
  • せっかくなので、受信したメールを他のメールアドレスに転送する
  • メールはオレゴンリージョンから飛びます(SESが日本にないので…)

構築手順

独自ドメインを取得する

お名前.comでもRoute53でも自分でDNS設定が出来ればなんでもいいです。私はxdomain使ってます。簡易メール機能があるので、正直そっちでもよいのですが、何かと不便なので独自構築の道を選びました。
M

Route53とxdomainを連携する

SESの設定はRoute53を利用していると楽なので、Route53のネームサーバを読み込めるようにしました。

  • AWS側の作業
    • Route53でHosted Zoneを作る(mayuki12.com)
      作成するドメイン名と同じ。
    • NSレコードにある4つのドメインをコピーする
  • xdomain側の作業
    • 【ドメイン管理のネームサーバの確認・変更】を開く
    • さっきコピーしたドメインを貼り付ける

Route53にMXレコードを追加する

SESの設定

おおまかな流れとしては、下記の感じ

  1. ドメインの認証
  2. メールアドレスの受信設定
  3. メール送信用メールアドレスの認証

  1. ドメインの認証
  • SES -> Identity Management / Domains を開く
  • Verifty a New Domain で ドメインを認証させる
  • 問題がなければ数十分後にVerification Status = verifiedとなる
  1. メールアドレスの受信設定
  • Email Receiving/Rule Setsを開く
  • View Active Rule setを押してCreate Ruleする
  • Recipientsでメールアドレスを入力して次にいく
  • Actionsでメールの受信先を指定する
    • Add ActionS3を選ぶ
    • bucket名格納場所のprefixを入力する
    • 他のメールに転送したいときはSNS topicを設定する
  • Rule DetailsRuleの設定を行う
  • Reviewで設定内容を確認してCreate Ruleを行う
  • 利用できるメールアドレスからメールを送って見る
  • 問題なくメール受信できるようならS3にファイルが格納される
    • 人が読むには辛いので、読みやすくする工夫がいりそう。
  1. メール送信用メールアドレスの認証
  • 作ったメールアドレスでメール送信を出来るようにIdentity Management/Email Addressesから認証をする
  • Verifty a New Email Addresseで作ったメールアドレスを入力する
  • Verification Statuspending verificationになると、指定のメールアドレスにメールが飛ぶ(S3に格納される)
  • S3に格納されたメールから認証URLを開く(かなり見辛い)
  • 認証URLを開くと、SMTPでメールが送れるようになる
  • Email Sending/SMTP Settingsでサーバを確認する

SMTPの確認

SMTPを指定できるメーラからメールを送る。今回はWordPressWP Mail SMTPを利用する

  • WP Mail SMTPの設定画面を開く
    • 送信元アドレスをさきほど認証したメールアドレスにする
    • メーラOther SMTPを選択する
    • SMTP ホストで前項で確認したSMTPサーバのホストを指定する
    • SMTP UsernameSMTP Passwordは入手したAWSのキーを設定する(どこで入手できたか忘れた…)
    • 他の設定はよしなに。
  • WP Mail SMTPEmail Testからテストメールを送信してみる。
    • 送信先は利用できるメールアドレスならなんでもよい
  • 問題なくメールが送られたらSMTP設定が出来ている

問い合わせフォームの確認

WP Mail SMTPが問題なく設定できているようなら、Contact Form 7で作った問い合わせフォームから無事にメールが飛ぶようになります。めでたしめでたし。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です