対策
プラグインフォルダ作成
プラグインphpファイル作成
ダッシュボードで設定
カスタマイズ後のメール文面
迷惑メール振分防止プラグイン
テスト
参考記事
###wordpress新規ユーザー作成のメールが残念…
こんな感じ…
件名:
【<サイト名>】 新規ユーザー登録
本文:
これはユーザー登録時に登録ユーザー宛に送信されます。
件名:
【<サイト名>】 新規ユーザー登録
本文:
サイト「<サイト名>」の新規ユーザー登録:
ユーザー名: <WPユーザー名>
メール: <ユーザーメールアドレスの>
サイト運営側がアカウントを作成する場合、お客さんが受け取っても「なんじゃらほい?」になってしまいそう…
また、送信元がWordPressであり、PHPで発信しているためか、迷惑メールに振り分けられてしまう…
#対策
1)新規ユーザー宛てメールの内容をカスタマイズ
お客様へふさわしい文面
ログインURLを案内
初期パスワードを含めたログイン方法を案内
2)管理者宛てメールの内容をカスタマイズ
サイト表示名を追加
3)迷惑メールに振り分けられないカスタマイズ
#プラグインフォルダ作成
# mkdir /var/www/html/example.com/wp-content/plugins/message-to-mew-customer
#プラグインphpファイル作成
<?php
/*
Plugin Name: Custom New User Mail
Description: 新規ユーザー登録時に送信されるメールの内容を変更
*/
if(!function_exists('wp_new_user_notification')) {
function wp_new_user_notification($user_id, $deprecated = null, $notify = '') {
if ( $deprecated !== null ) {
_deprecated_argument( __FUNCTION__, '4.3.1' );
}
global $wpdb, $wp_hasher;
$user = get_userdata( $user_id );
//管理者宛のメール
//件名
$subject = get_option('blogname') . '|新規アカウント作成の通知';
//本文
$message = '<サイト名>サイトの管理者へ' . "\r\n\r\n";
$message .= $user->display_name . 'のアカウントが作成されました。' . "\r\n\r\n";//サイト表示名を取得
$message .= '氏名:' . $user->display_name . "\r\n";//氏名を取得::
$message .= 'ユーザー名:' . $user->user_login . "\r\n";//ユーザー名を取得
$message .= 'メールアドレス:' . $user->user_email . "\r\n";//ユーザーメールアドレスを取得
$message .= '初期パスワード:<初期パスワード>' . "\r\n\r\n";
$message .= '<会社名>' . "\r\n";
$message .= '<住所>' . "\r\n";
$message .= 'TEL:<電話番号>' . "\r\n";
$message .= '<運営元>' . "\r\n";
@wp_mail(get_option('admin_email'), $subject, $message);
//登録ユーザー宛のメール
//件名
$subject = get_option('blogname') . '|新規アカウント作成の通知';
//本文
$message = 'こんにちは、' . $user->display_name . "\r\n\r\n";//サイト表示名を取得
$message .= '<サイト名>サイトにあなたのアカウントが作成されました。' . "\r\n\r\n";
$message .= 'こちらからログインできます。' . "\r\n";
$message .= 'サイトURL:<サイトURL>/' . "\r\n\r\n";
$message .= 'ユーザー名:' . $user->user_login . "\r\n";//ユーザー名を取得
$message .= 'メールアドレス:' . $user->user_email . "\r\n";//ユーザーメールアドレスを取得
$message .= '初期パスワード:<初期パスワード>' . "\r\n\r\n";
$message .= '初期パスワードでログイン後、必ずパスワードを変更し、ご自身で管理なさってください。' . "\r\n\r\n";
$message .= '<会社名>' . "\r\n";
$message .= '<住所>' . "\r\n";
$message .= 'TEL:<電話番号>' . "\r\n";
$message .= '<運営元>' . "\r\n";
@wp_mail($user->user_email, $subject, $message);
}
}
?>
#ダッシュボードで設定
WordPressダッシュボード > プラグインにmessage-to-mew-customer
が表示されるので、有効
にする
#カスタマイズ後のメール文面
新規ユーザーへのメール
こんにちは、<サイト表示名>さん
<サイト名>サイトにあなたのアカウントが作成されました。
こちらからログインできます。
サイトURL:<サイトURL>
ユーザー名:<ユーザー名>
メールアドレス:<ユーザーメールアドレス>
初期パスワード:<初期パスワード>
初期パスワードでログイン後、必ずパスワードを変更し、ご自身で管理なさってください。
<会社名>
<住所>
TEL:<電話番号>
<運営元>
サイト管理者へのメール
<サイト名>サイトの管理者へ
<サイト表示名>さんのアカウントが作成されました。
氏名:<サイト表示名>
ユーザー名:<ユーザー名>
メールアドレス:<ユーザーメールアドレス>
初期パスワード:<初期パスワード>
<会社名>
<住所>
TEL:<電話番号>
<運営元>
#迷惑メール振分防止プラグイン
送信元:WordPress
送信元メールアドレス:wordpress@<サイトドメイン>
これが理由で迷惑メールに振り分けられてしまう可能性が高い
プラグイン「WP Mail SMTP」で対策
送信元:site@<サイトドメイン>
送信元メールアドレス:<サイト名>
「送信元アドレスを返信先 (return-path) として設定」にチェックを入れる
#テスト
WordPress新規ユーザーを作成した時の動作確認
→新規ユーザーにメールが飛ぶか
→管理者にメールが飛ぶか
→迷惑メールに振り分けられないか
#今後の課題
サイト名やサイトURL もPHPで取得できるといい
#参考記事
https://cree.fun/2832
https://techmemo.biz/wordpress/get_userdata/
https://bryog.com/how-to-use-wp-mail-smtp/