サポート » 使い方全般 » ユーザー作成時に送付されるメールのカスタマイズ

  • 平素よりお世話になっております。
    下記はfunction.phpに記述している情報の一部抜粋です。
    送付メールにユーザーがログイン時に使用するパスワードを記載したいのですが、
    パスワードの設定がうまくいかず躓いております。
    御指南頂けますと幸いです。

    function custom_new_user_notification_email( $new_user_notification_email, $user, $blogname ) {
    $user_name = stripslashes( $user->user_login );
    $user_password = stripslashes( $user->user_pass );

    $message .= ‘□・─────────────────────────────────・□’ . “\r\n”;
    $message .= ‘ログインページURL:***********.com/login’ . “\r\n”;
    $message .= ‘■ユーザー名:’ . $user_name . “\r\n”;
    $message .= ‘■パスワード:’ . $user_password. “\r\n”;
    $message .= ‘□・─────────────────────────────────・□’ . “\r\n”;`

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • @kaz6201 さん
    始めまして。

    おそらく、フィルターフックとして wp_new_user_notification_email を使われているかと思います。
    該当箇所のコードを見てみた所、以前はハッシュ化されていないパスワードを $plaintext_pass という変数で取得出来たようですが、4.3.1から利用出来なくなりました。
    https://github.com/WordPress/WordPress/blob/5.8-branch/wp-includes/pluggable.php#L2009

    また、$user->user_pass で取得されるのもハッシュ化されたパスワードだと思います。

    なので、送信メールに平文のパスワードを載せる事は難しいと思われます。

    ちなみに、Transients APIを使って、ユーザー登録時に入力されたパスワードをキャッシュで保持、メール送信時に呼び出すという方法はありますが、ハッシュ化されていないパスワードがDBに保存される事になりますので、セキュリティ的にお勧め出来ません。
    (代わりにセッションなどを使えば、もう少しセキュアなやり方があるかもしれません)

    スレッド開始 kaz6201

    (@kaz6201)

    早速、ありがとうございます。
    使えなくなってしまった変数だったんですね・・・!
    少し敷居が上がりそうなので、別方法でユーザーにパスワードを共有しようと思います。
    この度は、ありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • このトピックに返信するにはログインが必要です。