署名または認証情報が不正です

要約する:チャットGPT当惑

:このガイドは、WP Mail SMTP のAmazon SES メール送信機能に適用されます。

このエラーの意味

AWSはこのリクエストを拒否しました。これは、WP Mail SMTPの設定にあるアクセスキーIDまたはシークレットアクセスキーが間違っているか、IAMユーザーにSESを使用する権限がないためです。

よくある原因

  • WP Mail SMTP の「最も近いリージョン」が、SES が設定されている AWS リージョンと一致していません
  • アクセスキーIDまたはシークレットアクセスキーの入力に誤りがあります(シークレットアクセスキーは文字数が多く、コピーする際に先頭部分が切り落とされやすいため、よくある間違いです)
  • IAMユーザーには AmazonSESFullAccess 権限ポリシー
  • AWS IAM でアクセスキーが無効化または削除されました
  • SESを設定したアカウントとは異なるAWSアカウントのキーを使用する

解決方法

このエラーを解決するための、完全な手順ガイドをご紹介します。

ステップ1:最も近い地域を確認する

正しい認証情報を使用している場合でも、地域設定が間違っているとこのエラーが発生します。

まず、「WP Mail SMTP」»「設定」に移動し、「Amazon SES」セクションまでスクロールしてください。

WPメールのSMTP設定

その後、「最も近い地域」のドロップダウンメニューを確認してください。

WP Mail SMTP の「最寄りの地域」設定

これは、SESアカウントおよびIDが設定されているリージョン(例:US East (N. Virginia)EU (Ireland))と一致している必要があります。

SESがどのリージョンにあるか分からない場合は、AWSコンソールにアクセスし、Amazon SESを開いて、ページの右上隅に表示されているリージョンを確認してください。

地域が一致しない場合は、WP Mail SMTP で正しい地域を選択してください。

設定を保存をクリックしてください。

「WP Mail SMTP」»「ツール」に移動し、「メールテスト」タブをクリックして、「メールを送信」をクリックします。

エラーが解消された場合は、これで完了です。エラーが解消されない場合は、手順 2 に進んでください。

ステップ 2: IAM ユーザーの権限を確認する

その領域が正しい場合、IAMユーザーに必要な権限が不足している可能性があります。

AWSコンソール(console.aws.amazon.com)にログインします。右上隅のアカウント名を確認し、正しいアカウントにログインしていることを確認してください。

ログインしたら、上部の検索バーで「IAM」と検索してください。

検索バーに「IAM」と入力したAWSコンソール

その後、検索結果から「IAM」を選択します。

AWSコンソールでのIAM検索結果

IAMダッシュボードで、左側のサイドバーから「ユーザー」をクリックします。

「ユーザー」リンクが表示されたIAMサイドバー

WP Mail SMTP用に作成したユーザーの名前をクリックしてください(名前は次のようなものになっている可能性があります yourdomain_wpmailsmtp)。ユーザーが表示されない場合は、次の項目へ進んでください。 ステップ4.

ユーザー名が表示されたIAMユーザー一覧

をクリックして 権限 タブ。探してください AmazonSESFullAccess ポリシー一覧に表示されている場合、権限に問題はありません。次に進んでください。 ステップ3.

「権限」タブに表示される AmazonSESFullAccess ポリシー

表示されていない場合は、「権限の追加」ドロップダウンボタンをクリックしてください。

[権限] タブに権限のドロップダウンボタンを追加する

ドロップダウンメニューの「権限を追加」をクリックします。

「権限の追加」と「インラインポリシーの作成」のオプションが表示される権限追加ドロップダウン

ポリシーを直接添付」を選択します。

「権限の設定」ページにある「ポリシーを直接添付する」オプション

次に、次のように入力します AmazonSESFullAccess 検索バーに表示され、その横にあるチェックボックスを選択します。

検索結果で選択された「AmazonSESFullAccess」ポリシー

その後、「次へ」をクリックして続行してください。

「権限の設定」ページの「次へ」ボタン

権限を追加」をクリックして変更を保存してください。

レビューページに「権限を追加」ボタンを追加する

試してみるには、テストメールを送信してください。そのためには、「WP Mail SMTP」»「ツール」に移動し、「メールテスト」タブをクリックしてから、「メールを送信」をクリックしてください。

「メールテスト」タブ

エラーが解消された場合は、これで完了です。ただし、エラーが解消されない場合は、手順3に進んでください。

ステップ3:新しいアクセスキーを作成する

AWSでは、シークレットアクセスキーを作成した後はその内容を表示できないため、既存のキーを再度コピーすることはできません。この問題を解決するには、新しいキーペアを作成する必要があります。

AWSコンソールで、[IAM] » [ユーザー]に移動し、自分のユーザー名をクリックします。[セキュリティ認証情報] タブをクリックします。

ユーザー詳細ページの「セキュリティ認証情報」タブ

画面を下にスクロールして、「アクセスキー」のセクションまで進んでください。

ステータスを表示するアクセスキーセクションと「アクセスキーを作成」ボタン

ステータスが「非アクティブ」になっている既存のキーがある場合は、「アクション」»「有効化」をクリックして、そのキーを再度有効にしてください。キーが「アクティブ」になっているにもかかわらずエラーが続く場合は、以下の手順に従って新しいキーを作成してください。

アクセスキーを作成」ボタンをクリックしてください。

「アクセスキー」セクションに「アクセスキーを作成」ボタンを表示する

ユースケースとして「その他」を選択してください。

アクセスキーの作成:ユースケースの選択 — 「その他」を選択

次へ」をクリックします。

「アクセスキーの作成」ウィザードの「次へ」ボタン

アクセスキーを作成」をクリックします。

説明タグページに「アクセスキーを作成」ボタンを追加する

アクセスキーID」と「シークレットアクセスキー」の両方をコピーしてください。「シークレットアクセスキー」は一度しか表示されませんので、このページを閉じる前に安全な場所に保存しておいてください。

「WP Mail SMTP」»「設定」に移動し、「Amazon SES」セクションまでスクロールします。

新しいアクセスキーIDシークレットアクセスキーをそれぞれの入力欄に貼り付けてください。

WP Mail SMTP の「アクセスキー ID」および「シークレットアクセスキー」フィールド

Closest Region」がSESリージョンと一致していることを確認してください。

設定を保存をクリックしてください。

「WP Mail SMTP」»「ツール」に移動し、「メールテスト」タブをクリックして、「メールを送信」をクリックします。

ステップ4:まだIAMユーザーをお持ちでない場合

IAMユーザーの一覧にWP Mail SMTP用のユーザーが表示されない場合は、作成してください:

AWSコンソールで、[IAM] » [ユーザー] に移動します。

ユーザーの作成」ボタンをクリックしてください。

ユーザー一覧と「ユーザーを作成」ボタン

ユーザー名を入力してください(推奨: yourdomain_wpmailsmtp、例えば example_wpmailsmtp).

「ユーザーの作成」ウィザードのユーザー名入力欄

次へ」をクリックします。

「ユーザーの作成」ウィザードの「次へ」ボタン

ポリシーを直接添付」を選択します。

「権限の設定」ページにある「ポリシーを直接添付する」オプション

タイプ AmazonSESFullAccess 検索バーに表示され、その横にあるチェックボックスを選択します。

「ユーザー作成」ウィザードで「AmazonSESFullAccess」ポリシーが選択されました

次へ」をクリックします。

「権限の設定」ページの「次へ」ボタン

詳細を確認し、「ユーザーを作成」をクリックしてください。

レビューページに「ユーザー作成」ボタンを追加する

それでは、上記の手順 3に従って、この新しいユーザー用のアクセスキーを作成してください。

備考

  • AWSでは、シークレットアクセスキーは作成時に一度だけ表示されます。紛失した場合は、新しいキーを作成してください(手順3)。
  • 一部のAWSリージョンでは、デフォルトで有効になっていません(アフリカ/ケープタウン、アジアパシフィック/香港、アジアパシフィック/ジャカルタ、ヨーロッパ/ミラノ、中東/バーレーン)。SESがこれらのリージョンのいずれかにある場合は、まずAWSアカウントの設定でそのリージョンを手動で有効にする必要があります。

これで完了です!これで、Amazon SESで発生する「無効な署名または認証情報」エラーの解決方法と、WP Mail SMTPを通じてメールの送信を再開する方法がわかりました。

無料のWP Mail SMTPプラグインをお試しください

お気に入りのSMTPプロバイダーを使って、WordPressのメールを確実に送信しましょう。