WordPressからの通知メールの送信者名とアドレスを変更する



WordPressからはコメントが送信された時、パスワードが変更された時、更新された時など様々なタイミングで通知メールが届きます。
その通知メールの差出人名は全て「WordPress <wordpress@ドメイン名>」のようになっています。

この差出人名とメールアドレスを変更する方法です。

テーマファイルのfunction.phpに下記の通り追記します。
//差出人E-mailアドレスの変更
function change_mail_from($from_mail) {
     
    $sitename = strtolower( $_SERVER['SERVER_NAME'] );
    if ( substr( $sitename, 0, 4 ) == 'www.' ) {
        $sitename = substr( $sitename, 4 );
    }
    //差出人Emailがwordpress@~なら書き換え
    if($from_mail === "wordpress@".$sitename){
        //管理者のメールアドレスに変更
        return get_option( 'admin_email' );
    }else{
        return $from_mail;
    }
}
add_filter( 'wp_mail_from', 'change_mail_from' );

//差出人名の変更
function change_mail_from_name($from_name) {

    //差出人名がWordPressなら書き換え
    if($from_name === "WordPress"){
        //サイト名に変更
        return get_option( 'blogname' );
    }else{
        return $from_name;
    }
}
add_filter( 'wp_mail_from_name', 'change_mail_from_name' );


これでwordpressからの通知メールの差出人名が全て変更されます。

※注意
メールフォーム作成プラグインの「contact form 7」で設定した差出人名も上書きされますので注意してください。
contat form7の設定を上書きしないように修正しました。

尚、同じくメールフォーム作成プラグインの「MW WP Form」では設定した差出人名は上書きされませんでした。

環境によって動作状況が異なるかもしれないので、動作確認してみてください。
 
Comments

コメントする