ここでは、会員サイト構築に役立つWordPressプラグイン「Theme My Login」で設定可能なモジュールのうち、
「Custom E-mail を有効する」について解説します。
「Theme My Login」のバージョンは 6.4.5 で検証しています。
自動送信メールの内容をカスタマイズ
ここでいう「custom e-mails」は、ユーザーの新規登録時などに「Theme My Login」から自動送信されるメールの内容をカスタマイズできるようになる機能です。
モジュールを有効にすると、WordPress管理画面の「TML」メニュー内に「メールアドレス」項目が追加され、クリックするといくつかの自動送信メールを設定できるページになります。
設定できる自動送信メールの種類
4つのタイミングで自動送信されるメール内容を設定できます。どれも共通して、送信者の名前とメールアドレス、メールの件名とメッセージが設定できます。
また「メールフォーマット」を指定すれば、通常のテキストメールだけでなくHTMLメールを送ることも可能です。
さらにメッセージには、以下の置換文字が使えます。
%blogname%:サイト名
%siteurl%:サイトURL
%reseturl%:対象ユーザーのパスワードリセット用URL(後述)
%user_login%:対象ユーザーのユーザー名
%user_email%:対象ユーザーのメールアドレス
%user_ip%:対象ユーザーのIPアドレス
1. 新規ユーザー
これは、サイトに新規ユーザー登録があった際、登録したユーザー宛に送られるメールの設定です。
で、ここで最も注意すべきポイントがあります。
【変数%reseturl%が含まれていることを確認してください。そうでなければユーザーはパスワードを回復することができません!】
という部分です。
新規ユーザーのメッセージを変更するなら、%reseturl% は必ず入れましょう。というのも、Theme My Login におけるユーザー登録は、以下のような流れになるからです。
(1) ユーザーは「登録ページ」でメールアドレスを入力して登録する
(2) 入力したメールアドレス宛に「1. 新規ユーザー」で設定したメールが届く(%reseturl% 入り)
(3) ユーザーは %reseturl% をクリックして、(自分専用の)「パスワード初期化ページ」に移動する
(4) ユーザーは「パスワード初期化ページ」で使用したいパスワードを入力して登録する
(5) メールアドレスとパスワードが揃ったので、この2つで「ログインページ」からログインする
Theme My Login の初期状態だと登録時にパスワード入力が無いので、最初に「パスワード初期化」を行なう事になります。まだ何もしてないのに初期化というのがややこしいですが・・。
なので、「1. 新規ユーザー」のメッセージ内に %reseturl%(各ユーザー専用のパスワード初期化ページへのリンクに置換される) を設定しておかないと、
「あれ僕のパスワード、何?どうやってログインするの?」
状態になってしまうわけです(笑)
(ちなみに、モジュール「Custom Password を有効にする」で詳しく解説しますが、登録時にメールアドレスだけでなくパスワードも入力してもらうようにすることは可能です。この場合は、%reseturl% 不要となります)
2. 新規ユーザー管理
こちらも「1. 新規ユーザー」と同じく新規ユーザー登録時ですが、登録したユーザー以外に送られるメールの設定です。
「1. 新規ユーザー」の設定項目に加えて、「宛先」項目が追加されていると思います。
宛先には複数のメールアドレスをカンマ区切りで指定できるので、会員の登録通知を複数で知っておきたい場合に便利です。
3. パスワードを取得
これは、ログインページ等からリンクされる「パスワード紛失」ページでパスワードのリセットを申請した際に送られるメールの設定になります。
よくある、「パスワードを忘れた場合」「forgot password?」ってやつです。
これも、「1. 新規ユーザー」と同様、メッセージを設定する場合は %reseturl% を忘れないようにしましょう。
4. パスワードをリセット
こちらは、 %reseturl% のリンク先である「パスワード初期化」ページで新しいパスワードの設定が完了した際に送信されるメールの設定になります。
注意すべき点が2つありますが、1点は「パスワード内容をメール内に差し込む事はできない」ということ。WordPressのユーザーパスワードはセキュリティが考慮されており、管理者といえども各ユーザーのパスワードは確認できないのです。(プログラム上からも不可。パスワードはハッシュ化というものが施されており、元のパスワードからは判別できない英数字の羅列として保管されています)
なので、パスワードリセット時のメールに「あなたのパスワードは●●●ですよ」と送る事はできないわけです。もしユーザーが忘れた場合は、再度パスワードをリセットしてもらう事になります。(これはWordPressそのものの仕様なので仕方ないです)
またもう1点は、「パスワードを忘れた場合だけだなく、新規ユーザー登録時(Custom Password が無効の場合)にも送信されるメールである」ということです。それを踏まえたメッセージ内容にしましょう。
まとめ
以上、自動送信メールのカスタマイズ設定について見ていきました。
・「1. 新規ユーザー」では(Custom Password が無効なら)必ず %reseturl% をメッセージ内に入れる
・「4. パスワードをリセット」のメッセージにパスワード内容を記載することはできない
などは、WordPressの仕組みに慣れていないとつまづきやすいポイントかもしれません。
すべて空の状態にしておけばWordPress標準のメールが使用されますので、まずはそれでどういう動きをするのか?を確認してみてから、色々カスタマイズしてみるのが良いと思います。
ではでは。