2.11 ユーザー宛WordPressメール非送信

 WordPressシステムからユーザー宛に自動送信されるメールの宛先を管理者に変更して送信します。システムから“少なくとも”次の場合にメールが送信されます。
  (1) 新規ユーザー登録
  (2) パスワード変更時
  (3) メールアドレス変更時
  (4) 「ユーザー名とパスワード情報」をもとにユーザーがパスワード変更
  (5) パスワードを忘れた場合、新しいパスワードを取得
 ユーザーにしてみれば、WordPressなる人物から突然メールが送られてくるとスパムメールと思うでしょう。
 管理者にとっては、ユーザーの設定が済まないうちに新規ユーザー登録のメールがユーザーに届くのは困ります。
 ユーザーには管理者から必要なメールを転送します。

 メールタイトルでユーザーへの送信可否を判定することも可能ですが、メールタイトルが変更されると混乱しますし、WordPressのバージョンアップで送信されるメールの種類が増えることがあります。
 ログイン画面で“パスワードをお忘れですか ?”をクリックすると(5)のメールがユーザーに送信されます。ログイン画面のカスタマイズも必要です。これについては別途説明します。パスワードを忘れた場合には、どのみち管理者が対応すルことになると思います。

コード

// --------------------------------
// ユーザー宛WordPressメール非送信
// --------------------------------
function hk_functions_wp_mail( $atts ) {
    $admin_email = get_option('admin_email');
    if ( $atts['to'] == $admin_email )        return $atts;
    $to = $atts['to'];
    $atts['to'] = $admin_email;
    $message  = 'WordPressからのユーザー宛メールです。'."\n";
    $message .= 'ユーザーには送信されていません。'."\n";
    $message .= 'ユーザー名:'.$to."\n";
    $message .= '----- 以下原文 -----'."\n\n";
    $message .= $atts['message'];
    $atts['message'] = $message;
    return $atts;
}
add_filter( 'wp_mail', 'hk_functions_wp_mail' );

 このプログラムをお使いになる場合は、お使いになる方の自己責任でお願いします。

更新日:2015/11/13
掲載日:2015/11/13