WordPressから自動送信されるwordpress@(ドメイン名)の変更方法
WordPressで、ユーザー登録やメールアドレスの変更、パスワードの変更や初期化、自動バージョンアップなどを実行した際に自動送信される通知メールの発行元メールアドレス「WordPress@(ドメイン名)」の変更方法についてご紹介させて頂きます。
通常は、管理者宛に送信されるものなので何ら問題ないのですが、Wordpressで会員制サイトなどを構築した際にユーザー管理をWordpressの機能で実装すると、会員様がパスワードリセットした際などに自動送信されるメールが、「WordPress@(ドメイン名)」となってしまうので、今回の内容が利用できます。
その他、あわせてWordpressから自動送信されるメールのカスタマイズ方法についても記載していこうと思います。
1.送信者名と送信者メールアドレスの変更
これが今回の本題です。デフォルトでは、送信者名と発信元メールアドレスに「WordPress」が入りますが、functions.phpに以下を記述する事で任意の値に変更できます。
記述後にメールを確認すると、送信者名が「(サイト名)」(bloginfo(‘name’)で取得)、発信元メールアドレスが、「no-reply@sample.com」になります。
1 2 3 4 5 6 7 8 9 10 11 | /* 送信者名の変更 */ add_filter( 'wp_mail_from_name', 'org_wp_mail_from_name' ); function org_wp_mail_from_name( $email_from ){ $sitetitle = bloginfo( 'name' ); return $sitetitle; } /* 送信者メールアドレスの変更 */ add_filter( 'wp_mail_from', 'org_wp_mail_from' ); function org_wp_mail_from( $email_address ){ return 'no-reply@sample.com'; } |
2.ユーザー登録時の登録ユーザー宛メール(登録ユーザー宛て)
新規ユーザーが登録された際に、その登録ユーザー宛に送信されるメールをカスタマイズしたい場合は、「wp_new_user_notification_email」にフックをかけて実装します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | add_filter( 'wp_new_user_notification_email', 'org_new_user_notification_email', 10 , 3 ); function org_new_user_notification_email($new_user_notification_email, $user, $blogname){ $user_name = stripslashes( $user->user_login ); $user_email = stripslashes( $user->user_email ); $key = get_password_reset_key($user); $loginurl = home_url('/sys/wp-login.php'); /* WordPressはsys配下に導入 */ $param = '?action=rp&key='.$key.'&login='.$user_name."\r\n"; $url = esc_url_raw($loginurl . $param); $message = $user_name . ' 様' . "\r\n"; $message .= "\r\n"; $message .= $blogname . 'にご登録いただき、誠にありがとうございます。' . "\r\n"; $message .= '会員登録が完了いたしましたので、ご連絡を申し上げます。' . "\r\n"; $message .= "\r\n"; $message .= '下記の登録情報をご確認のうえ、パスワードの設定画面へお進み下さい。' . "\r\n"; $message .= "\r\n"; $message .= 'ユーザー名:' . $user_name . "\r\n"; $message .= 'メールアドレス:' . $user_email . "\r\n"; $message .= "\r\n"; $message .= 'パスワードの設定は以下のアドレスからお願いいたします。' . "\r\n"; $message .= "\r\n"; $message .= $url; //件名とメッセージを表示 $new_user_notification_email[ 'subject' ] = $subject; $new_user_notification_email[ 'message' ] = $message; return $new_user_notification_email; } |
パラメータの
「$new_user_notification_email」には、件名(subject)、本文(message)、送信先(to)、ヘッダー(headers)、
「$user」にはユーザー情報、
「$blogname」にはサイト名
が入っております。
この関数内では、パスワード再設定用のURLを生成し、パスワードの再設定URLをユーザーに通知しています。
3.ユーザー登録時の管理メールアドレス宛メール(管理者宛て)
管理者宛てなので、あまり修正する必要はありませんが、「wp_new_user_notification_email_admin()」にフックをかけて制御できます。
1 2 3 4 5 6 7 8 9 | add_filter( 'wp_new_user_notification_email_admin', 'org_new_user_notification_email_admin', 10, 3 ); function org_new_user_notification_email_admin( $wp_new_user_notification_email, $user, $blogname ) { $subject = '【' . $blogname . '】 新規ユーザー登録'; $message = 'ユーザー登録がございました。'; $wp_new_user_notification_email['subject'] = $subject; $wp_new_user_notification_email['message'] = $message; return $wp_new_user_notification_email; } |
パラメータは、前項の「wp_new_user_notification_email」と同様です。
4.メールアドレス変更時の該当ユーザー宛メール(変更したユーザー宛)
ユーザーがメールアドレスを変更した際の、ユーザー宛てに通知されるメールの内容をカスタマイズしたい場合には、「email_change_email()」にフックをかける事で制御ができます。
1 2 3 4 5 6 7 8 9 10 | add_filter( 'email_change_email', 'org_email_change_email' ); function org_email_change_email( $email_change_email ) { $subject = '【' . get_option( 'blogname' ) . '】 メールアドレス変更'; $message = 'メールアドレスが変更されました。'. "\r\n"; $message .= 'メールアドレスを変更した際に、該当ユーザーの変更前メールアドレス宛に、本メッセージは送信されます。'; $email_change_email['subject'] = $subject; $email_change_email['message'] = $message; return $email_change_email; } |
5.パスワード変更時の該当ユーザー宛メール(変更したユーザー宛)
ユーザーがパスワードを変更した際の、ユーザー宛てに通知されるメールの内容をカスタマイズしたい場合には、「password_change_email()」にフックをかける事で制御ができます。
1 2 3 4 5 6 7 8 9 10 | add_filter( 'password_change_email', 'org_password_change_email' ); function org_password_change_email( $pass_change_email ) { $subject = '【' . get_option( 'blogname' ) . '】 パスワード変更'; $message = パスワードが変更されました。' . "\r\n"; $message .= 'パスワードを変更した際に該当ユーザーのメールアドレス宛に、本メッセージは送信されます。'; $pass_change_email['subject'] = $subject; $pass_change_email['message'] = $message; return $pass_change_email; } |
6.パスワードリセット時のユーザー宛メール(ユーザー宛て)
ユーザーがパスワードをリセットした際の、ユーザー宛てに通知されるメールの内容をカスタマイズしたい場合には、「retrieve_password_title()」と「retrieve_password_message」にフックをかける事で制御ができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | /* 件名の変更 */ add_filter( 'retrieve_password_title', 'org_retrieve_password_title', 10, 3 ); function org_retrieve_password_title( $title, $user_login, $user_data ) { $title = '【' . get_option( 'blogname' ) . '】 パスワードリセット'; return $title; } /* 本文の変更 */ add_filter( 'retrieve_password_message', 'org_retrieve_password_message', 10, 4 ); function org_retrieve_password_message( $message, $key, $user_login, $user_data ) { $message = 'パスワードリセット時に該当ユーザーのメールアドレス宛に、本メッセージは送信されます。' . "\r\n"; /*WordPressは、sys配下に導入 */ $message .= 'リセットURL: <' . network_site_url( "/sys/wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), 'login' ) . '>'; return $message; } |
7.パスワードリセット時の管理メールアドレス宛メール(管理者宛て)
ユーザーがパスワードをリセットした際の、管理者宛てに通知されるメールの内容をカスタマイズしたい場合には、「wp_password_change_notification_email()」にフックをかける事で制御ができます。
1 2 3 4 5 6 7 8 9 10 | add_filter( 'wp_password_change_notification_email', 'org_password_change_notification_email', 10, 3 ); function org_password_change_notification_email( $wp_password_change_notification_email, $user, $blogname ) { $subject = '【' . get_option( 'blogname' ) . '】 パスワードリセット'; $message = $user->user_login . ' さんのパスワードがリセットされました。' . "\r\n"; $message .= '本メッセージは、ユーザーがパスワードをリセットした際に、管理者メールアドレス宛に送信されるものです。'. "\r\n"; $wp_password_change_notification_email['subject'] = $subject; $wp_password_change_notification_email['message'] = $message; return $wp_password_change_notification_email; } |
8.メールを送信しない
メールを送信して通知しなくてよい場合には、該当のフィルターフックに対して、”__return_false”を返却するようにしてあげれば、メールは送信されません。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | // ユーザー登録時の管理メールアドレス宛メール送信停止 add_filter( 'wp_new_user_notification_email_admin', '__return_false' ); // ユーザー登録時の登録ユーザー宛メール送信停止 add_filter( 'wp_new_user_notification_email', '__return_false' ); // メールアドレス変更時のメール送信停止 add_filter( 'send_email_change_email', '__return_false' ); // パスワード変更時のメール送信停止 add_filter( 'send_password_change_email', '__return_false' ); // パスワードリセット時のメール送信停止 add_filter( 'wp_password_change_notification_email', '__return_false' ); |
以上、皆さんのお役に立てれば幸いです。
WEB DESIGN全てお任せ!ホームページ制作
RishunTradingでは、日本にはないコンセプトや高いデザイン性をもったヨーロッパ製品の輸入販売、及び、Webサイト制作事業などをおこなっております。
「全てお任せ!ホームページ制作」は、ドメイン取得からサーバー設定、レスポンシブルデザイン(スマホ、タブレット対応)、SEO対策がすべて含まれたお得なホームページを制作するサービス商品です。
運用開始後に「Webサイト運用管理サービス(保守)」と組み合わせて購入しますと、メンテナンス、更新も含めてすべて弊社で実施しますので、お客様は安心して本業に集中する事ができます。
しかもなんと、「全てお任せ!ホームページ制作」は、¥100,000!で提供しております。
本業が忙しい中小企業様に大変ご好評を頂いている商品です。
独自ドメイン取得
サーバー開設&設定
レイアウト設計
レスポンシブルデザイン
(*1)検索エンジン最適化
(SEO対策)場所Maps
お問い合わせフォーム
SSL化
各種SNS連携
運用マニュアル