Craft CMS のシステムから送信される通知メールの本文をカスタマイズする

直近で必要になりそうなので、メモを兼ねて。

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}}

このメールに心当たりがない場合は無視してください。',
];

あとは、お好みで文言を調整すれば完了です。

実際に通知メールを受信して、変更が適用されていることを確認してください。

やってみて

コントロールパネル自体が多言語対応前提なこともあり、簡単にカスタマイズできる仕組みが提供されているのは便利ですね。

利用頻度は低いかもしれませんが、頭の片隅に入れておこうと思います。