Contents
初めに – 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分析&コピペ用コード付き)