Classicメールテンプレート VS Lightningメールテンプレート

By | July 28, 2022

初めに – SFのOOTBメール送信機能

SFのOOTBメール送信機能には、大きく以下の4つがあると言える。

  • Classicメールテンプレート&メールアラートなど
  • Lightningメールテンプレート&メールアラートなど
  • フローコアアクション – メール送信
  • Apexでのメール送信

※メールテンプレートは、メールアラート・「メール送信」アクション・自動レスポンスルール・レコードページからのメール送信・リストメールなど、様々な箇所で利用可

OOTBメール送信機能の使い分け

細かいpros/consを抜きにすれば、大体以下のように機能選択すれば良い。

・ビジネスロジック以外の導線(=UI上の導線)からのメール送信
→メールテンプレート&任意の発射導線

・フローからのメール送信&メールアラートで使用可能な受信者である
→メールテンプレート&メールアラート

・フローからのメール送信&メールアラートで使用可能な受信者ではない(※トリガとなるレコードの親レコードの参照先ユーザなど)
→フローコアアクション – メール送信

・その他(上記での対応が難しい場合)
→Apexでのメール送信

※上図では、メールテンプレートの一元管理の観点から、「フローコアアクション – メール送信」よりも「メールテンプレート」の利用を優先。

フローからメール送信を行う際に「フローコアアクション – メール送信」と「メールアラート(メールテンプレート)」のどちらを利用すべきか

基本的には、メールテンプレートの一元管理の観点から、「フローコアアクション – メール送信」よりも「メールアラート(メールテンプレート)」の利用を優先することが望ましい。

ただし、「メールアラート(メールテンプレート)」の場合、受信者に大きな制約がある(具体的には、動的に受信者を指定したい場合、受信者の情報がトリガとなるレコード上に存在する必要がある)ため、その辺りの制限を回避したい場合は「フローコアアクション – メール送信」を利用する。

それより複雑になるようであれば、Invocable MethodやApex Triggerを検討する。

Classicメールテンプレート VS Lightningメールテンプレート

■結論

クロスオブジェクトマージフィールド(トリガとなるレコードの親レコードの項目情報)を利用したい場合はClassicメールテンプレートを利用する。

そうでなければ、Salesforce推しのLightningメールテンプレートを利用する。

■設定方法など

以下の記事の下部にあるスライドを参照

Step By Step Guide To Using Email Templates in Salesforce

参考

Step By Step Guide To Using Email Templates in Salesforce:Lightningメールテンプレートの解説が詳しい

Apexでメールを送信する:Apexからのメール送信に詳しい記事

Salesforceからのリストメール送信:リストメールに関する解説記事

【限定公開】Apexでのメール送信:当ブログ関係者限定 – Apexからのメール送信に関する記事(pros/cons分析&コピペ用コード付き)