直近で必要になりそうなので、メモを兼ねて。
Craft CMS では、ユーザーアカウントのアクティベーション、パスワードの設定・変更など、システムから送信されるいくつかの通知メールがあります。
ログインユーザーが運営スタッフのみであればデフォルトのままで問題ないと思われますが、アカウントの一般登録を許可する場合、文言を変更したくなるかもしれません。
そこで、今回はシステムから送信される通知メールの本文をカスタマイズする方法について、まとめてみます。
デフォルトの定義先
通知メールの本文にあたるテキストは、翻訳ファイルの中に定義されています。
Craft CMS のバージョンによって異なりますので、下記を参考にしてください。(本体のインストール先を craft
とします。)
Craft CMS 2.x
craft/app/translations/ja.php
Craft CMS 3.x
craft/vendor/craftcms/cms/src/translations/ja/app.php
それぞれの PHP ファイルを開いたら _body
で検索します。
key | 通知メールの種類 |
---|---|
account_activation_body | アカウントのアクティベーション |
forgot_password_body | パスワードの再設定 |
test_email_body | システムからの送信テスト |
verify_new_email_body | メールアドレスの有効化 |
ヒットする4つのキーは、これらの通知メールの本文となります。
新しい翻訳ファイルの作成
必要な文言を上書きするため、翻訳ファイルを作成します。
Craft CMS のバージョンを問わず、translations
ディレクトリも含めて新規作成します。
Craft CMS 2.x
craft/translations/ja.php
Craft CMS 3.x
craft/translations/ja/app.php
下記は、デフォルトの定義内容4つを新しい PHP ファイルにコピーした場合のサンプルです。
<?php
return [
'account_activation_body' => 'こんにちは {{user.friendlyName}} さん、
{{siteName}}のアカウントを作成してくださりありがとうございます!アカウントを有効にするには、以下のリンクをクリックしてください:
{{link}}
このメールに心当たりがない場合は無視してください。',
'forgot_password_body' => 'こんにちは、{{user.friendlyName}} さん、
{{siteName}}を再設定するには、このリンクをクリックしてください:
{{link}}
このメールに心当たりがない場合は無視してください。',
'test_email_body' => 'こんにちは {{user.friendlyName}} さん、
おめでとうございます! Craft はメールの送信に成功しました。
あなたが使用した設定は以下の通りです:
{{ settings }}',
'verify_new_email_body' => 'こんにちは、{{user.friendlyName}} さん、
このリンクをクリックして新しいメールアドレスを確認してください:
{{link}}
このメールに心当たりがない場合は無視してください。',
];
あとは、お好みで文言を調整すれば完了です。
実際に通知メールを受信して、変更が適用されていることを確認してください。
やってみて
コントロールパネル自体が多言語対応前提なこともあり、簡単にカスタマイズできる仕組みが提供されているのは便利ですね。
利用頻度は低いかもしれませんが、頭の片隅に入れておこうと思います。