Salesforceから送信されたメールの履歴を記録・取得する方法

By | May 28, 2023

結論

Salesforceから送信されたメールのログを記録する代表的な方法としては以下が挙げられる。

  • Compliance BCC Email:Salesforceから送信される全てメールにBCCを自動追加できる
  • Enhanced Email:Salesforceから送信されるメール(の一部)が、EmailMessage・Taskとして記録されるようにできる
  • Email Relay:Salesforceのメールを指定したSMTPサーバー経由で送信できる
  • Custom Email Logging:Apexやフローでのメール送信処理の実施後に、ログをEmailMessageオブジェクトやカスタムオブジェクトに記録されるな実装を行う
  • Standard Functionality:一部の標準機能では、送信したメールのログがEmailMessageやTaskに自動で記録される

また、Salesforceから送信されたメールのログを取得する方法としては以下が挙げられる。

  • Email Log Files:過去30日間に送信された全てのメールのログを取得できる
  • Personal Email Inbox(Compliance BCC Email有効化時):過去の全メールのログを取得/検索できる
  • SMTP Server Email Logs:SMTPサーバー側でのロギング機能
  • EmailMessage:一部の送信メールはEmailMessageとして記録されている
  • Task:一部の送信メールはTaskとして記録されている
  • Custom Email Log:Apexやフローでの(EmailMessageやカスタムオブジェクトへの)明示的なロギング

メールログの記録という観点で見ると、基本的に(SMTPサーバー側に全メールのログを保存する機能を持たせるのでない限り)Compliance BCC Emailを用いることが望ましい。Enhanced Emailを有効化したりCustom Loggingを頑張って開発したところで、組織から送信される全てのメールのログを記録できるようになる訳ではないし、そもそもSalesforceは大量データの取り扱いに弱い(※一般に200万レコード辺りがLDVの境界とされる)ので、Salesforceの内部に全てのメールログを記録する方針は典型的なアンチパターンである。逆にCompliance BCC Emailにはそうしたメリットがないどころか、(Google Workspaceを例に取ると)リッチなUI・リッチな検索機能・リッチなフィルタリング機能を持つ上に、GASを用いると任意のプログラミング処理を動作させることもできるため、(SMTPサーバーやメールリレーサーバー側でのロギングを度外視すれば)その他の手段に対して圧倒的なprosを持つと言える。

Compliance BCC Email

Compliance BCC Emailの機能を用いると、Salesforceから送信される全てメールが指定したメールアドレスにもBCCで送信されるようになる。

Enhanced Email

Enhanced Email(拡張メール)を有効化すると、Salesforceから送信されたメール(の一部)がEmailMessageとTaskの双方に記録されるようになる。

機能の主眼は「元々Email-to-Caseでのみ利用されていたEmailMessageオブジェクトをその他のメール送信機能にも拡張する」という点にある。

詳細は「Salesforce Help – 拡張メールによるメール機能の強化」を参照されたい。

Email Relay

メールリレー機能を用いると、Salesforceからのメールを「自社のメールサーバー」や「(SendGridなどの)メールリレーサービス」を経由して送信できるようになる。

それにより以下のような恩恵を受けることができるようになる。

  • メールのロギング:送信された全てのメールの詳細なログの記録。それにより送信メールのパフォーマンスや傾向を分析することが可能に
  • メールの監視:送信されるメールの内容をスキャンし、不適切な内容や相手型にスパム判定される可能性のある内容が含まれるかをチェックすることができる
  • アンチウイルスソフトウェアの利用:メールを送信する前にアンチウイルスソフトウェアに通すことで、ウイルスやマルウェアが含まれていないことを確認できる

詳細については、「Salesforce Help – メールリレーによるメール送信」を参照されたい。