コンテンツへスキップ

WordPressのメール不達を完全解決!Contact Form 7と無料のAmazon SES設定でハマった「認証」

導入:なぜ無料の Amazon SES を選んだのか?

WordPressサイトで一番困るのは、「Contact Form 7からのお問い合わせメールが届かない」問題です。

このメール不達を根本から解決するため、私は信頼性の高い「Amazon Simple Email Service (SES)」の導入を決めました。SESはメール到達率が高く、さらに無料枠が用意されている点も魅力でした。

WP Offload SES Lite を選んだ理由

SES連携プラグインの多くは有料ですが、WP Offload SES Liteは、SES連携に必要なコア機能が無料で利用できるため、このプラグインを選択しました。

しかし、その設定は想像を絶する道のりでした。本記事は、私自身の壮絶な奮闘記を通じ、これから SES 設定に挑む方が絶対にハマらないための完全ガイドとしてお役立てください。


第1章:無料枠の真実と知っておくべき課金ルール

まず、多くの人が誤解しやすい Amazon SES の無料枠について、正確な知識を共有します。

1. ほとんどのユーザーが「12ヶ月間の制限」を受ける

Amazon SESの無料枠は、SESを使用開始した後の最初の 12 ヶ月間は、毎月最大 3,000 件のメッセージ(送信・受信の合計)が無料となります。

  • すでにAWSの有料サービスを利用しているアカウントであっても、SESを初めて使う場合はこの「12ヶ月間の制限」が適用される可能性が高いことに注意が必要です。
  • 超過分は従量課金となりますが、国内の一般的な利用規模であれば、非常に安価です。

第2章:セキュリティと認証情報の壁(IAM権限の付与)

WP Offload SES Liteを動かすためには、AWSへの「権限」と「」のセットを整える必要がありました。

1. 【最重要】ルートユーザーキーの即時削除とIAMユーザーへの移行

セキュリティ確保のため、私は危険なルートユーザーのキーを避け、SESの利用に必要な権限を付与した **IAMユーザー(junjun)**を作成しました。

IAMの罠:Secret Access Key は作成時にしか見られない

プラグイン設定に必要な Secret Access Key をコピーし忘れ、二度と画面に表示されないという罠にハマりました。

教訓: IAMユーザーの作成と同時に、Access Key ID と Secret Access Key の両方を必ず安全な場所にメモしてください。

2. IAMユーザーへの権限付与は完了!

私は IAMユーザー junjunAmazonSESFullAccess のポリシーを確実に付与しました。これにより、プラグインが SES を操作するための**「鍵」「許可証」**が揃いました。


第3章:究極のエラー「検証済みID」の真実

IAMへの権限付与も完了し、キーも入力したにもかかわらず、WP Offload SES Lite では、以下のエラーが消えませんでした

⚠️ Please enter a valid email address that has been verified with Amazon SES.

認証エラーの裏側と真の解決策

エラーの原因は、Amazon SESコンソール側で、使用したいメールアドレスの認証が完了していなかったという、最も基本的な設定ミスでした。

IAMに権限を与えても、SES自体がメールアドレスの所有権を認めていなければ、送信元としては使えないのです。

私たちは以下の手順で、この問題を決定的に解決しました。

  1. SES側で認証が未完了であることを確認:
    • Amazon SESコンソールの「検証済み ID」リストに contact@posii.net存在しないことを確認しました。
  2. メールアドレスを新規登録:
    • **「IDの作成」**から contact@posii.net を再登録しました。
  3. 認証を完了:
    • そのアドレス宛に届いた認証メールのリンクをクリックし、ステータスが「検証済み (Verified)」に変わったことで、エラーが解消しました!

第4章:最終設定とContact Form 7との連動

メールアドレスが「検証済み」になったことで、WP Offload SES Lite のエラーは消え、最終設定に進みました。

1. DNS設定(CNAMEレコード)の追加

メールの信頼性を高めるため、お名前.comなどのDNS設定画面で、3つの CNAMEレコードを追加しました。(DKIM認証)

2. WP Offload SES Lite の最終設定

  1. WordPress Notification Emailcontact@posii.net に変更。
  2. 画面下部の「Send Mail Using SES」を OFF から ON に切り替える。
  3. 設定を保存。

これで、Contact Form 7 からのメールを含む、すべてのWordPressメールが、信頼性の高い Amazon SES 経由で送られるようになりました!

まとめ:これから SES に挑むあなたへ送る3つのチェックリスト

  1. セキュリティと権限: ルートキーを使わず、IAMユーザーにAmazonSESFullAccessを付与しましたか?
  2. 認証とリージョン: SESコンソールで送信元メールアドレスが「検証済み (Verified)」になっていますか?(リージョンも一致していますか?)
  3. 有効化: WP Offload SES Liteの「Send Mail Using SES」をONにして設定を保存しましたか?

最後までお読みいただき、心より感謝申し上げます。

Posii株式会社は、AIプロダクト開発・運用を専門としています。
Webアプリケーション開発、データ分析基盤構築、クラウド活用支援など、お客様のビジネス課題に合わせた最適なソリューションをご提供いたします。

AI歴15年 代表取締役 大河原潤

より具体的な開発事例や実装の詳細は、下記ページでご紹介しております。