2026年8月24日

2026年8月24日

WordPressで「メールアドレスが確認されていません」状態を解消する方法

WordPressでメールアドレスが「未確認」「変更が保留中」のまま進まない場合、原因の多くは確認メールが届いていないか、確認リンクを開いたときのログイン状態が合っていないかのどちらかです。この記事では、どの画面で止まっているかを見分けたうえで、原因を起こりやすい順に確認し、必要なら確認手続きを安全に飛ばして直接設定する方法までを説明します。

まず「どの確認」で止まっているかを見分ける

WordPressで「メールアドレスの確認」が絡む場面は、大きく4つあります。表示される文言はバージョンや言語設定で少しずつ違うため、文言ではなく場所で判断するのが早道です。

  • 一般設定の管理者メールアドレス:「設定」→「一般」で管理者メールアドレスを変えると、新しいアドレスに確認メールが送られ、リンクを開くまで変更は保留になります。画面には保留中の変更がある旨と、取り消し用のリンクが表示されます。
  • プロフィールのメールアドレス:「ユーザー」→「プロフィール」で自分のメールアドレスを変えた場合も、新しいアドレスでの確認が済むまで保留になります。
  • 管理者メールアドレスの定期確認画面:WordPress 5.3以降、ログイン直後に「このメールアドレスは今も正しいか」を確認する画面が一定間隔で表示されます。これは未確認エラーではなく、確認を促す仕組みです。
  • 会員登録プラグインのメール認証:Ultimate Member や BuddyPress などで、登録後のメール認証が済むまでアカウントが保留やログイン不可になるケースです。文言や挙動はプラグインごとに異なります。

前の2つはWordPress本体の仕組みで、対処方法がほぼ共通です。3つ目は設定で間隔を変えられます。4つ目はプラグイン側の管理画面で状態を確認します。以下、本体の保留を中心に、原因を起こりやすい順に見ていきます。

原因1:確認メールが届いていない(最も多い)

保留が解けない理由として最も多いのが、確認メール自体が届いていないことです。まず受信側の迷惑メールフォルダ、プロバイダーのフィルタ、Gmailのプロモーションタブなどを確認してください。

届いていない場合は、WordPressがメールを送れているかを切り分けます。

  1. 送信テストをする:WP Mail SMTP などのSMTPプラグインには送信テスト機能があります。テストメールが届かなければ、確認メールに限らずサイト全体のメール送信に問題があります。
  2. 送信ログを残す:Check & Log Email のような送信ログ系プラグインを使うと、WordPressが送信を試みたかどうかが分かります。ログに記録があるのに届かないなら、配送経路(迷惑メール判定や送信ドメイン認証)の問題です。
  3. 送信失敗を記録する:プラグインを増やしたくない場合は、送信失敗時に呼ばれる wp_mail_failed アクションでエラー内容だけをログに残せます。
<?php
/**
 * Plugin Name: Log wp_mail failures
 * 保存先: wp-content/mu-plugins/log-wp-mail-failed.php
 */
add_action( 'wp_mail_failed', function ( $error ) {
	// エラーメッセージのみを記録し、本文(確認リンクを含む)は残さない
	error_log( '[wp_mail_failed] ' . $error->get_error_message() );
} );

ここで本文をログに残さないのは、確認メールのリンクにはアカウントを変更できる一時的な鍵が含まれているからです。ログファイルは第三者の目に触れることがあるため、エラー内容だけにとどめます。ログは wp-config.php で WP_DEBUG_LOG を有効にしている場合 wp-content/debug.log に、そうでなければサーバーのPHPエラーログに出力されます。

エラーが出ている、または送信テストが失敗する場合は、サーバーの mail() 関数が制限されている、送信元アドレスのドメインとサーバーが一致しない、SPF・DKIMが未設定といった原因が考えられます。SMTPプラグインで正規のメールサーバー経由で送るよう設定すると改善するケースが多くあります。

原因2:確認リンクを開いたときのログイン状態が違う

メールは届いてリンクも開いたのに、保留が解けないケースです。WordPress本体の確認リンクは管理画面のURLになっており、次の条件を満たしていないと処理されません。

  • 管理者メールアドレスの確認リンク:管理者権限(設定を変更できる権限)を持つユーザーでログインした状態で開く必要があります。
  • プロフィールの確認リンク:メールアドレスを変更した本人のアカウントでログインした状態で開く必要があります。

スマートフォンのメールアプリからリンクを開くと、普段ログインしていないブラウザで開かれ、ログイン画面に飛ばされることがあります。ログイン後に元の処理へ戻らない場合は、PCのログイン済みブラウザにリンクをコピーして開き直してください。別の管理者アカウントでログインしているブラウザで開いてしまった場合も、プロフィールの確認は通りません。

原因3:古いメールのリンクを開いている

変更をやり直すと、確認用の鍵は新しいものに置き換わります。最初に送られたメールのリンクを開いても、すでに無効になっているため何も起きません。何度か送り直した場合は、最も新しいメールのリンクを使ってください。

また、新しいアドレスの綴りを間違えたまま保留になっていることもあります。一般設定やプロフィール画面に保留中のアドレスが表示されるので、綴りを確認し、違っていれば取り消してから入力し直します。

原因4:キャッシュやセキュリティ設定がリンクを妨げている

まれに、管理画面へのアクセス制限(IP制限やBasic認証)、セキュリティプラグイン、CDNのキャッシュなどが確認リンクのクエリ文字列を妨げることがあります。確認リンクを開いた直後に一般設定やプロフィール画面を再読み込みし、保留表示が残っていないかを見ます。残っている場合は、管理画面がキャッシュ対象から外れているか、アクセス制限で別のページに転送されていないかを確認してください。

確認手続きを経ずに直接設定する方法

メール送信の問題をすぐに直せない、または確認メールを受け取れるアドレスがないといった場合は、サーバーにアクセスできる管理者が直接値を書き換える方法があります。作業前にデータベースのバックアップを取り、可能ならステージング環境で手順を試してから本番に適用してください。

WP-CLIが使える環境では、次のように操作します。

# 管理者メールアドレスを直接変更する(確認メールは送られない)
wp option update admin_email 'new-admin@example.com'

# 保留中の変更情報を削除して、画面の保留表示を消す
wp option delete new_admin_email
wp option delete adminhash

# ユーザーID 2 のメールアドレスを直接変更する
wp user update 2 --user_email='new-user@example.com' --skip-email

new_admin_email と adminhash は、一般設定の保留中の変更を保持しているオプションです。直接変更した後に残っていると保留表示が出続けるため、削除しておきます。プロフィールの保留は、画面に表示される取り消しリンクから消すのが手軽です。

この方法は「アドレスの所有確認」を省略する操作です。入力ミスがあると、パスワードリセットや重要な通知が誰にも届かなくなります。変更後は、パスワードリセットのメールなどでそのアドレスに実際に届くかを確かめておくと安心です。

定期確認画面の間隔を変える

WordPress 5.3以降のログイン後に出る管理者メールアドレスの確認画面は、初期設定ではおおむね半年ごとに表示されます。間隔は admin_email_check_interval フィルターで変えられます(2026年10月現在)。

<?php
/**
 * Plugin Name: Admin email check interval
 * 保存先: wp-content/mu-plugins/admin-email-check-interval.php
 */
// 確認画面の表示間隔を1年にする(秒数で指定)
add_filter( 'admin_email_check_interval', function () {
	return YEAR_IN_SECONDS;
} );

false を返すと確認画面自体が表示されなくなりますが、管理者メールアドレスはパスワードリセットやセキュリティ関連の通知先です。古いアドレスのまま放置される原因になるため、無効化より間隔の調整をおすすめします。コードはテーマの更新で消えないよう、mu-plugin か子テーマの functions.php に置きます。

会員登録プラグインのメール認証の場合

Ultimate Member や BuddyPress などの会員系プラグインでは、メール認証が済んでいないユーザーが保留状態として扱われます。多くの場合、プラグインの管理画面に保留中ユーザーの一覧があり、管理者が手動で承認・有効化できます。メニューの名前や場所はプラグインやバージョンによって異なるため、使用中のプラグインのドキュメントで確認してください。

認証メールが届かない根本原因は、原因1と同じくメール送信の問題であることが多いため、手動承認で一時的にしのいだうえで、送信環境を整えることが大切です。なお、メールアドレスは個人情報です。手動承認やログ確認の際に、ユーザーのアドレスを外部のツールやチャットに貼り付けないよう注意し、取り扱いはプライバシーポリシーの記載に沿って行ってください。

まとめ

  • まず、止まっているのが一般設定・プロフィール・定期確認画面・会員プラグインのどれかを見分ける。
  • 最も多い原因は確認メールが届いていないこと。送信テストとログで、送信できているかを切り分ける。
  • 確認リンクは、管理者または本人としてログインしたブラウザで、最新のメールのものを開く。
  • どうしても確認できない場合は、バックアップを取ったうえでWP-CLIで直接設定し、保留情報を削除する。
  • 定期確認画面は無効化より間隔の調整にとどめ、管理者メールアドレスを常に受信できる状態に保つ。

お気軽にご相談ください

お見積りへ お問い合わせへ
▲