エラー:invalid_grant:不正なリクエスト

要約:ChatGPTPerplexity

注意: このガイドは、WP Mail SMTP の Gmail メーラー に適用されます。

このエラーの意味

WP Mail SMTPに保存されているOAuth認証情報(クライアントIDとクライアントシークレット)の設定が間違っているか、Google Cloud Consoleのアプリケーションと一致していません。「トークンが期限切れました」のバリアントとは異なり、これは設定の不一致であり、単なる古いトークンではありません。

一般的な原因

  • WP Mail SMTPに入力する際のクライアントIDまたはクライアントシークレットのタイプミス
  • 間違ったOAuthクライアントタイプが使用されている(例:Webアプリケーションの代わりにデスクトップアプリ
  • Google Cloud Consoleの承認済みリダイレクトURIにWP Mail SMTPコールバックURLが含まれていない
  • Google Cloud ConsoleのOAuth認証情報が存在しなくなった(削除されたか、新しいものに置き換えられた)

解決方法

エラーを解決するための完全なステップバイステップガイドを以下に示します。

ステップ 1: OAuth クライアントの種類を確認する

最も一般的な原因は、間違ったアプリケーションタイプで作成されたOAuth認証情報です。まず、お持ちのものを確認してください。

Google Cloud Consoleを開き、WP Mail SMTPに使用しているプロジェクトを選択します。次に、APIとサービス » 認証情報に移動します。

OAuth 2.0 クライアントIDの下で、認証情報を見つけ、タイプがWebアプリケーションであることを確認します。すでにWebアプリケーションと表示されている場合は、手順2に進みます。タイプがデスクトップアプリまたはその他の場合は、新しい認証情報を作成します。

新しいものを作成するには、認証情報を作成をクリックし、OAuth クライアントIDを選択します。次に、アプリケーションタイプWebアプリケーションに設定します。

アプリケーションの種類としてウェブアプリケーションを選択します

承認済みリダイレクトURIの下で、+ URIを追加をクリックし、https://connect.wpmailsmtp.com/google/を入力します。

リダイレクト URI を入力します

最後に、作成をクリックします。

作成をクリックして続行

手順2:リダイレクトURIを確認する

OAuthクライアントがすでに正しいタイプであった場合、次に確認するのはリダイレクトURIです。

APIとサービス » 認証情報で、WebアプリケーションOAuthクライアントの横にある鉛筆アイコンをクリックします。次に、承認済みリダイレクトURIの下で、https://connect.wpmailsmtp.com/google/httpsと末尾のスラッシュを含めて正確にリストされていることを確認します。

URIが見つからない場合は、+ URIを追加をクリックし、上記のURLを貼り付けて、保存をクリックします。

手順3:クライアントIDとクライアントシークレットをコピーする

OAuthクライアントタイプとリダイレクトURIが確認できたら、認証情報をコピーしてWP Mail SMTPに貼り付けられるようにします。

APIとサービス » 認証情報で、OAuth 2.0 クライアントIDの下にある認証情報の横の鉛筆アイコンをクリックします。

クライアントIDを編集

次に、クライアントIDをコピーします。

クライアント ID をコピーします

次に、+ シークレットを追加をクリックして、新しいクライアントシークレットを生成します。

クライアント シークレットを生成するには、シークレットを追加をクリックします

最後に、クライアントシークレットをコピーします。

注意: クライアント ID またはクライアント シークレットに余分なテキストやスペースが含まれていないか注意してください。Google は完全なクライアント シークレットを一度しか表示しません。

手順4:WP Mail SMTPを更新して再承認する

新しい認証情報をWP Mail SMTPに貼り付けて、Googleアカウントを再接続します。

まず、WP Mail SMTP » 設定に移動し、Google / Gmailセクションまでスクロールします。次に、接続を削除をクリックして、古い認証情報をクリアします。

接続を削除をクリック

その後、新しいクライアントIDクライアントシークレットを対応するフィールドに貼り付けます。

クライアント ID とクライアント シークレットを貼り付けます

次に、設定の保存をクリックし、次にプラグインにGoogleアカウントを使用してメールを送信することを許可するをクリックして、OAuthフローを開始します。

プラグインが Google アカウントを使用してメールを送信できるようにするをクリック

最後に、Googleアカウントを選択し、要求された権限を付与します。

ステップ5:テストメールを送信する

テストメールを送信して修正を確認します。

修正を確認するには、WP Mail SMTP » ツールに移動し、メールテストタブをクリックします。宛先フィールドに受信者のアドレスを入力し、HTMLトグルをオンのままにして、メール送信をクリックします。

テストメールタブ

完了したら、成功メッセージを確認し、メールが受信トレイに届いたことを確認してください。

注記

  • リダイレクト URI は、httpshttp の違いや末尾のスラッシュを含め、正確に一致する必要があります。
  • Gmail APIが有効になっていない場合は、APIとサービス » ライブラリに移動し、「Gmail API」を検索して、有効にするをクリックします。
  • 資格情報を修正した後も7日ごとにエラーが再発する場合は、Google Cloudプロジェクトが「テスト」モードになっている可能性があります。APIとサービス » OAuth同意画面 » 対象ユーザーでアプリを本番環境に公開し、アプリを公開をクリックします。

これで完了です!WP Mail SMTPを介してGmailの「invalid_grant: Bad Request」エラーを修正し、メール送信を再び機能させる方法がわかりました。

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

お気に入りのSMTPプロバイダーを使用して、WordPressのメールを確実に送信してください。