ADVERTISEMENT

【Salesforce】メール連携の送信ログが想定と違う時の管理者が見るべき原因

【Salesforce】メール連携の送信ログが想定と違う時の管理者が見るべき原因
🛡️ 超解決

Salesforceを利用していると、メール連携の送信ログが想定と異なるケースに遭遇することがあります。例えば、Activity Timelineに記録されるメールが実際の送信数と合わない、あるいは特定のメールが記録されない、または本来記録されるべきでないメールが表示されるといった問題です。こうした状況では、管理者として原因を特定し、適切な設定変更や運用ルールの見直しが必要になります。本記事では、送信ログの不一致が発生する代表的な原因と、管理者が確認すべきポイントを具体的に解説します。

【要点】この記事で確認すること

  • 最初に見る場所: 設定画面の「メールキャプチャ設定」「アクティビティ設定」「メールログ監視」の各項目を確認します。
  • 切り分けの軸: 端末側のメールクライアント設定、Salesforce内のメール送信設定、カスタムコードやワークフローの影響、そしてライセンスや権限の有無を段階的に検証します。
  • 注意点: 会社PCで管理者以外が設定を変更するのは避けてください。特にメールキャプチャの自動設定やワークフロールールの変更は、全体の動作に影響するため、必ずサンドボックスでテストしてから本番反映してください。

ADVERTISEMENT

1. 送信ログの定義と、想定と違う状態の把握

最初に、Salesforceにおける「送信ログ」の範囲を明確にする必要があります。多くの場合、管理者やユーザーが想定する送信ログとは、Activity Timelineに表示される「メール」レコードや、Email Messageのリスト、または監査ログに残るメール送信記録を指します。しかし、Salesforceには複数のメール送信経路が存在し、それぞれ記録の残り方が異なります。

想定と違う状態の例として、以下のようなケースがよく報告されます。

  • ユーザーがGmailのOutlookから送信したメールがActivityに記録されない。
  • ワークフロールールで自動送信したメールが送信ログに残っていない。
  • Apexから送信したメールがEmail Messageオブジェクトに作成されない。
  • Activity Timelineに重複したメールレコードが表示される。
  • 送信日時や宛先が実際と異なる値で記録されている。

これらの状態を正確に把握するために、まずは対象のユーザーから具体的な症状とスクリーンショットを収集し、該当するメールの送信日時や送信方法(手動、自動、APIなど)を整理しましょう。

2. 原因を切り分けるための4つの軸

原因を効率的に特定するには、以下の4つの軸で切り分けていくのが有効です。

2.1 メールクライアントとSalesforceの連携方法

ユーザーがメールを送信する際に、どのクライアントを使用しているかが重要です。代表的な連携方法と、そのログ記録有無を以下の表にまとめました。

連携方法 Activity Timelineへの記録 Email Messageオブジェクトへの記録
Outlook Integration (Salesforce for Outlook / Lightning Sync) ○(設定に依存) ○(同期設定時)
Gmail Integration (Gmail Connection) ○(自動キャプチャ)
Salesforce内からのメール作成(メールコンポーザー) ○(常に記録)
ワークフロールール / フローによるメール送信 ×(通常は記録なし) ×(独自のEmail Messageを作成する設定が必要)
Apexによるメール送信(SingleEmailMessage / MassEmailMessage) ×(明示的にTask作成が必要) ×(同左)
外部メールクライアント(Outlook単体等)から手動で送信 ×(連携設定がない限り記録されない) ×

上表から分かる通り、ワークフローやApexで送信したメールは、デフォルトではActivityに記録されません。もし記録を残したい場合は、追加の開発や設定が必要です。

2.2 設定の確認項目(管理者権限が必要)

管理者は以下の設定を確認してください。設定画面へのアクセスには「システム管理者」権限が必要です。

  1. [設定] > [メール] > [メールキャプチャ設定] を開きます。ここで「メールキャプチャを有効化」がオンになっているか、また関連するメールボックスが正しく設定されているかを確認します。
  2. [設定] > [アクティビティ] > [アクティビティ設定] で、「アクティビティを追跡する」が有効なオブジェクト(取引先、商談など)を一覧表示します。対象のオブジェクトがアクティビティ追跡対象になっていない場合、メールレコードは関連付けられません。
  3. [設定] > [メール] > [メールログ監視] で、送信メールのログが取得できるように設定します。ただし、このログは監査目的であり、Activity Timelineとは別のものです。
  4. [設定] > [メール] > [メールの送信] で、「送信メールの制限」や「未承諾メールのブロック」などの制限が課せられていないか確認します。
  5. [設定] > [ユーザー] > [ユーザー詳細] で該当ユーザーの「メールアカウント」が適切に設定されているか(特にOutlook同期の場合)確認します。

2.3 権限と共有設定の影響

メールレコード(Email Message)やアクティビティ(Task)は、ユーザーのレコード権限に基づいて表示が制限されます。例えば、該当ユーザーが取引先のレコードに対して読み取り権限を持っていない場合、その取引先に関連するメールはタイムラインに表示されません。また、メールのプライベート設定(非公開)が有効な場合は、送信者本人にしか見えなくなります。

管理者は、[設定] > [プロファイル] または [権限セット] で「Email Messageの読み取り」権限が付与されているか確認してください。また、メールが非公開として保存されていないか、ユーザー自身の設定も確認する必要があります。

2.4 カスタムコード(Apex、トリガ、ワークフロー)の確認

組織にカスタムコードが存在する場合、それがメール送信を制御している可能性があります。特に、以下のようなコードが原因でログが記録されないことがあります。

  • Apexでメール送信後にTaskを作成していない。
  • ワークフロールールの「メール送信アクション」では、デフォルトでActivityが作成されない。
  • トリガでメール送信を抑制している(例:特定の条件を満たさない場合は送信をスキップ)。

該当するメール送信がApexやトリガを経由している場合は、デバッグログを取得して動作を確認しましょう。デバッグログの設定方法は次の手順で行います。

3. 具体的な確認手順(5ステップ)

以下は、送信ログの不一致が発生した場合に管理者が実行すべき基本的な確認手順です。

  1. ステップ1: ユーザーから正確な情報を収集する。 いつ、どのメールクライアントから、どのオブジェクトに対して送信したのか、また送信後にログを確認した手順をヒアリングします。可能であれば、実際に再現してもらいましょう。
  2. ステップ2: 送信経路を特定する。 ユーザーのメールクライアントがSalesforceと直接連携しているか(Outlookプラグイン、Gmail接続)、ブラウザ上のメールコンポーザーを使用したのか、またはワークフローやAPIによる自動送信なのかを切り分けます。
  3. ステップ3: 関連する設定を確認する。 上記2.2の設定項目を一通りチェックします。特にメールキャプチャ設定とアクティビティ設定は、最も原因になりやすいポイントです。
  4. ステップ4: 権限と共有を確認する。 該当のメールが「非公開」として保存されていないか、またユーザーが関連レコードに対する権限を持っているかを確認します。ユーザーのプロファイルや権限セットを見直しましょう。
  5. ステップ5: デバッグログを取得して解析する。 対象のユーザーにデバッグログのトレースフラグを設定し、メール送信操作を実行後、ログをダウンロードします。ログ内で「EmailUtil」「Messaging.sendEmail」などの文字列を検索し、送信の成否とActivity作成の有無を確認します。

4. よくある失敗パターンと対処法

管理者が経験しやすい失敗パターンを3つ紹介します。

4.1 パターン1: メールキャプチャが有効になっていないために記録されない

ユーザーがOutlook連携を使っているにも関わらず、メールがActivityに記録されない場合、たいていはメールキャプチャ設定が無効、または使用するメールボックスが正しく管理されていないことが原因です。管理者は[メールキャプチャ設定]で「有効化」を確認し、メールボックスが承認済みであることを確認します。また、ユーザーのプロファイルに「メールキャプチャを使用する」権限が付与されている必要があります。

4.2 パターン2: ワークフローメールやApexメールがActivityに残らない

これは頻繁に誤解される点です。ワークフロールールやApexで送信したメールは、デフォルトではActivityレコードが作成されません。もしActivityに記録したい場合は、ワークフロールールの後に別のアクションでTaskを作成するか、Apex内でTaskを作成するコードを追加する必要があります。管理者は、要件に応じて開発チームと調整してください。

4.3 パターン3: プライベートメールの設定が原因で他のユーザーから見えない

ユーザーがメールを作成する際に「非公開」チェックボックスをオンにすると、そのメールは送信者本人と管理者のみに表示されます。チーム内で共有したいメールが非公開になっていた場合、ユーザーの操作ミスの可能性があります。管理者は、[設定] > [メール] > [メールへのアクセス] で「プライベートメールの表示」権限を適切に設定することも検討しましょう。

5. 管理者からSalesforceサポートへ伝える情報

上記の確認を全て行っても原因が特定できない場合、Salesforceサポートへの問い合わせが必要になります。その際、以下の情報を整理して伝えると、問題解決がスムーズです。

  • 問題の現象(いつ、誰が、どのような操作で、何がどう違うのか)
  • 使用しているメール連携の種類(Outlook Integration、Gmail Integration、メールコンポーザーなど)
  • 関連する設定のスクリーンショット(メールキャプチャ設定、アクティビティ設定、プロファイル権限など)
  • 対象のユーザーID、レコードID、メールのMessage ID(もし取得可能なら)
  • デバッグログの内容(特に送信関連のスタック)

サポートケースを作成する際は、[設定] > [ケース] > [新規ケース] から直接作成するか、ヘルプポータルを利用します。その際、問題が発生している組織の組織ID([設定] > [会社情報]で確認)も併せて記載しましょう。

6. 再発防止策:定期的な監査と運用ルールの策定

送信ログの不一致は、多くの場合、設定の見落としやユーザーの理解不足に起因します。再発を防ぐためには、以下の取り組みが有効です。

  • 定期的にメールキャプチャ設定とアクティビティ設定を確認する監査レポートを作成する。
  • ユーザー向けにメール連携の使い方ガイドを用意し、特に「非公開」設定や自動送信メールの扱いについて明記する。
  • カスタムコードによるメール送信がある場合、コードレビューでActivity生成の有無を確認するルールを設ける。
  • Sandbox環境で設定変更の影響を検証してから本番に反映する。
  • 監査ログ([設定] > [監査] > [監査証跡])を定期的に確認し、不審なメール送信設定変更がないかをチェックする。

よくある質問(FAQ)

Q1: 送信したメールがActivity Timelineに全く表示されません。何が原因ですか?
A1: まずはメールキャプチャ設定が有効か、また使用しているメールボックスが適切に設定されているかを確認してください。さらに、該当のオブジェクトがアクティビティ追跡対象になっているかも重要です。もしワークフローやApexからの送信であれば、Activityが作成されないのがデフォルトですので、要件に応じて開発を検討してください。

Q2: 他ユーザーが送信したメールが自分のActivityに表示されません。権限の問題ですか?
A2: はい、可能性があります。メールが非公開として保存されていないか、またあなた自身が該当のレコード(取引先、商談など)に対する読み取り権限を持っているかを確認してください。管理者は、プロファイルや権限セットで「すべてのレコードの表示」権限があるかどうかも確認できます。

Q3: メールを送信したのに、配送エラーにもならず、ログにも残っていません。どうすればいいですか?
A3: 送信時にエラーが表示されなかったのであれば、Salesforce側でメールは送信済みの可能性があります。ただし、受信者側のメールサーバで迷惑メールに振り分けられた可能性も考慮してください。まずはメールログ監視を有効にして、実際に送信処理が成功したかを確認します。もしメールログに送信記録があれば、配送は完了しています。届いていない場合は、受信者側の設定やネットワークの問題も考えられます。

Q4: メールキャプチャとワークフローメールを混在して使っていますが、両方のログを一元的に見る方法はありますか?
A4: Activity Timelineは、Taskオブジェクトをベースに表示されます。ワークフローメールをActivityに表示したい場合は、ワークフローでTaskを作成するアクションを追加する必要があります。また、Email MessageオブジェクトはActivity Timelineとは別のリストで表示されます。すべてのメールをActivityで見たい場合は、統一的な運用ルールを策定し、必要に応じてカスタム開発を行ってください。

まとめ

Salesforceのメール連携における送信ログの不一致は、原因を切り分けるための体系的な手順に従えば、ほとんどが特定可能です。まずはユーザーの操作環境と送信経路を明確にし、設定、権限、カスタムコードの順に確認していくことが重要です。特に、ワークフローやApexによる自動メールはActivityに記録されないという特性を理解しておく必要があります。設定変更や開発が必要な場合は、Sandboxでテストを行ってから本番に反映してください。本記事の手順を活用して、送信ログに関する問題を効率的に解決しましょう。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT