ステップバイステップ:まず、エラーメッセージが表示されるファイルを見つけます。Notepad ++とCTRL+ Fコマンドを使用してファイルを検索します。一部のエラーメッセージは異なるメッセージを組み合わせているため、エラーメッセージの最初の数語のみを検索することをお勧めします。
あなたのエラーメッセージwp-login.phpはそこにのみ、幸運に現れます。このエラーが発生する理由を見てみましょう。
if ( $message && !wp_mail($user_email, $title, $message) )
2つの条件があります。$messagetrueでなければなりません(空の文字列、false、nullなどではありません)。そして、wp_mail()falseを返すべきではありません。
上記の1行にはフィルタがあります$message = apply_filters('retrieve_password_message', $message, $key);。そのため、プラグイン(またはテーマ)がこのフィルタを使用し、trueでない値(空の文字列、false、nullなど)を返す可能性があります。
しかし、wp_mail()が機能しているかどうかを確認する方がはるかに簡単です。自分にテストメールを送信する小さなプラグインを作成します。
<?php
/**
 * Plugin Name: Stackexchange Testplugin
 * Plugin URI:  http://yoda.neun12.de
 * Description: Send me a test email
 * Version:     0.1
 * Author:      Ralf Albert
 * Author URI:  http://yoda.neun12.de
 * Text Domain:
 * Domain Path:
 * Network:
 * License:     GPLv3
 */
namespace WordPressStackexchange;
add_action( 'init', __NAMESPACE__ . '\plugin_init' );
function plugin_init(){
    $to      = 'your-email-adress@some-domain.tld';
    $subject = 'Testemail';
    $message = 'FooBarBaz Testmail is working';
    wp_mail( $to, $subject, $message );
}
(これはPHP5.3コードです。PHP5.2を実行している場合は、名前空間のものを削除してください)
プラグインは、アクティブ化した直後にテストメールを送信する必要があります。そうでない場合は、いくつかのバックエンドページ(ダッシュボードなど)を呼び出すことで実行できます。
テストメールが届かない場合は、おそらくに問題がありwp_mail()ます。したがって、デバッグをオンにします。
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', true );
@ini_set( 'display_errors',1 );
このコードをに入れてwp-config.php、自分にテストメールを送信してみてください。これで、いくつかのエラーメッセージが表示され、それらにもログインする必要がありますwp-content/debug.log(プラグインやテーマによってさらにエラーが発生すると、デバッグログが非常に大きくなる可能性があります)。
この時点で、wp_mail()失敗した場合、そして失敗した場合は、その理由がわかります。場合はwp_mail()、正しく仕事とtestmailが到着し、トップに戻って、理由を見つける$message真実ではありません。
で問題が発生した場合は、がPHP 関数を使用しないwp_mail()ことに注意してください。WordPressはPHPクラス(PHPMailer)を使用します。sendmailの代わりにSMTPを使用するためのプラグインが必要なだけかもしれません。または、問題は別の場所にあります。わかりません。調査する必要があります。wp_mail()mail()