こんにちは、にいるです。
今回は「標準のメールテンプレートをApexで使用する方法」について紹介します。
1.メールテンプレートとは
まず、メールテンプレートの説明について、
Salesforceは標準機能のメールテンプレートを作成することができます。
これを作成すると、メールテンプレートや承認プロセスなどの自動化機能で使用することができます。
[設定]→[Classic メールテンプレート]から作成が出来ます。2.早速Apexで取得してみる
では、Apexでメールテンプレートを取得してみましょう。
メールテンプレートはオブジェクトとして情報を持っているので、SOQLで取得することが出来ます。
1 2 3 4 5 |
//EmailTemplate et = [select id, Name, Subject, Body, DeveloperName, FolderId, FolderName, IsActive from EmailTemplate Limit 1]; List<EmailTemplate> et = [select id, Name, Subject, Body, DeveloperName, FolderId, FolderName, IsActive from EmailTemplate Limit 1]; System.debug('●et● = ' + et); |
取得した結果をデバッグしてみると、こんな感じです。
メールテンプレートの件名や、本文の他に有効フラグやフォルダ名やフォルダIDも取得できるので、幅広く動的な取得が出来そうですね。
フォルダ名をWhere句で絞るとオブジェクトごとの管理も実現できそうです。
3.まとめ
いかがでしたでしょうか。
Apexのメール送信メソッドで本文を一から組み立てるとメンテナンス性が低くなりますよね。
その場合、非開発者でもテンプレートを自由に変更できるように標準のメールテンプレートを作成して、Apexで取得できるようにしておいた方がいいと思います。
皆さんもぜひ色々と試してみてください。
他にも色々と標準機能やSalesforce機能について紹介していますので、ご覧ください。
ではでは!
コメント