Contents
前提と全体像
この章では、Salesforce 上でメール配信を自動化するために最低限必要な設定 を俯瞰します。組織レベルの送信元アドレス登録からユーザー権限の整備まで、一連の流れを把握しておくことで、後続の Flow 構築や認証設定がスムーズに進みます。
Org Wide Email の設定手順
Org Wide Address は「組織全体で使用できる送信元アドレス」を Salesforce に登録する機能です。正しく検証されたアドレスだけがフローやプロセスから利用できます。
- Setup → 組織全体のメールアドレス (Org Wide Addresses) を開く
- 「新規」ボタンをクリックし、送信元として使用するメールアドレス(例:
no-reply@yourcompany.com)を入力 - Salesforce から届く検証コードが記載されたメールを受信し、画面にコードを貼り付けて認証完了
ポイント:認証が成功したらステータスが Verified に変わります。未認証のままだとフローで送信できません([Salesforce ヘルプ – Org Wide Email アドレス])
送信権限の確認
メールを実際に送信できるかは、ユーザーが 「Send Email」 権限を保持しているかで決まります。
| 項目 | 確認手順 |
|---|---|
| プロファイル設定 | Setup → ユーザープロファイル → 「メール設定」→「Send Email」チェック |
| カスタム権限セット | 必要に応じて Email_Send_Automation などの権限セットを作成し、対象ユーザーへ付与 |
権限セットベストプラクティス(根拠:Salesforce Security Guide)
- 最小権限の原則 を適用し、メール送信専用の権限だけを含む権限セットを作成する。
- 変更履歴は Permission Set Group または Change Set 経由で管理し、監査ログに残す([Security Guide – Permission Set Auditing])。
- 権限付与はロール階層ではなく、業務フロー単位で行うことで過剰権限のリスクを低減する。
DKIM の概要と Salesforce での設定方法
DKIM(DomainKeys Identified Mail)は、送信ドメインが実際にメールを作成したことを暗号署名で証明する仕組みです。日本国内に法的な「2026 年義務化」は存在しませんが、多くの受信サーバーが SPF/DKIM の未設定メールをスパム判定 するため、ベストプラクティスとして導入が推奨されています。
DKIM とは何か、なぜ必要か
DKIM は DNS に公開鍵を登録し、メールヘッダーに署名を付与します。受信側は公開鍵で検証できるため、なりすまし(フィッシング)やスパムの判定基準として広く採用されています(RFC 6376)。
導入効果
- 配信到達率の向上(受信サーバーが認証済みメールを優先)
- ブランドドメインの信用維持
- 送信ログで署名有無を容易に確認可能
Salesforce での DKIM キー生成手順
以下は標準 UI を利用した手順です。すべての操作は Setup 内で完結します。
| 手順 | 操作内容 | 補足 |
|---|---|---|
| 1 | Setup → 「DKIM」 と検索し、DKIM キーの管理 ページを開く | メニューが表示されない場合は「メール設定 > DKIM」も可 |
| 2 | 「新規キー」ボタンをクリックし、対象ドメイン(例: yourcompany.com)と任意のセレクタ(例: sf1)を入力して保存 |
キー生成に数分かかります |
| 3 | 生成された 公開鍵 (TXT レコード) が表示されるので、コピーする | ホスト名は <selector>._domainkey.yourcompany.com です |
| 4 | DNS 管理画面で TXT レコードを追加し、ホスト名と公開鍵の値を貼り付ける | TTL は 3600 秒程度が一般的 |
| 5 | Salesforce の DKIM 設定ページに戻り 「検証」 をクリック | 検証成功でステータスが Active に変わります |
| 6 | テストメールを送信し、ヘッダーに DKIM-Signature が含まれることを確認する |
Gmail の「原文を見る」で確認可 |
参考:Salesforce ヘルプ – [Configure DKIM in Salesforce]
DNS への公開鍵登録と検証(ポイント)
- TXT レコードの ホスト名 は必ず
selector._domainkeyの形式で入力する。 - 公開鍵は改行せずに1 行で貼り付ける(レコードが分割されると検証失敗)。
- 検証は DNS 伝搬後 最大 24 時間 待ってから実施すると確実です。
運用上の留意点(ローテーション・監視)
- キーの有効期限を設定:最低でも 12–18 ヶ月ごとに新しい DKIM キーを発行し、旧鍵は DNS から削除する。
- 定期的な検証:Salesforce の「DKIM 設定」ページでステータスが Active のままか確認し、エラーが出たら即時対応。
- 監視ツールの活用:外部サービス(例: DMARC Analyzer)で DKIM / DMARC レポートを受信し、署名失敗が増えていないかモニタリングする。
Flow Builder を使ったメール自動送信フロー
この章では レコード作成時に自動でメールを送信 する最小構成から、条件分岐やテンプレート活用までの実装手順を示します。Flow は UI が統一されているため、Apex に比べ保守コストが低く、ビジネスユーザーでも変更可能です(Salesforce Trailhead – Build Flows)。
基本的なレコードトリガーフロー構築手順
以下は「Lead が新規作成されたらウェルカムメールを送信」する例です。
- フロー作成
-
Setup → Flow Builder → 「新規フロー」→「レコードトリガーフロー」を選択
-
開始条件の設定
- オブジェクト:
Lead -
トリガータイミング:レコードが作成されたとき(Apex‑Free)
-
メール送信アクション追加
- 要素パレットから 「メールを送信」 をドラッグ
- メールテンプレートは後述のカスタムテンプレートを選択
-
宛先:
{!Record.Email}(Lead の Email フィールド) -
フロー保存・有効化
- 名前例:
Lead_WelcomeEmail_Flow_v1 - バージョン管理で「アクティブ」に設定し、テスト環境でデバッグを実行
ポイント:最小構成でも「メール送信」要素の 失敗パス を必ず確認し、エラーハンドリング用フローへ接続しておくと運用時に便利です。
条件分岐で送信対象を絞る方法
全レコードに対し一律送信すると、配信停止要請(オプトアウト)や非対象顧客へのメールになりかねません。Decision 要素 を使って条件を明示的に設定します。
| 条件 | 判定ロジック |
|---|---|
| ステータスが「Qualified」 | {!Record.Status} = "Qualified" |
| 企業規模が 1000 人以上かつ国が日本 | {!Record.CompanySize} >= 1000 && {!Record.Country} = "Japan" |
| メール配信許可フラグが ON | {!Record.Email_Opt_In__c} |
実装手順
1. Decision 要素を追加し、上記ロジックで Qualified/Not Qualified のアウトカムを作成。
2. Qualified パスに 「メールを送信」 要素を接続。
3. Not Qualified パスは 「終了」 または 「タスク作成」 で代替処理を設定。
ベストプラクティス:条件が増える場合は Decision のネスト を避け、複数の Decision 要素に分割すると可読性が向上します([Flow Design Best Practices])。
メールテンプレートの作成とマージフィールド活用
パーソナライズされたメールは開封率を大幅に改善します。ここでは HTML とテキスト版 の両方を持つテンプレート作成手順を示します。
- Setup → Email Templates → 「新規」→「カスタム HTML」または「HTML (with Letterhead)」を選択
- 件名にマージフィールド例:
[{{!Record.FirstName}}] ご案内 – 新製品リリースを入力 - 本文(HTML)
html
こんにちは、{{!Record.FirstName}} 様
本日は新製品「XYZ」のご紹介です。
詳細はこちら
alt テキストを必ず設定(アクセシビリティとメールクライアント互換性向上)
4. **テキスト版** タブで同内容のプレーンテキストを作成し、改行はシンプルに保つ
5. 画像は外部 CDN にホストし
6. プレビュー と テスト送信 を自分のメールアドレスへ 2 通(HTML・テキスト)送り、表示確認
注意点:マージフィールドは
{{!Record.FieldName}}の形式で記述し、スペルミスがないか必ず検証してください(Salesforce Help – Merge Fields in Email Templates)。
Einstein Email Insights と Marketing Cloud Automation Studio の連携
高度なマーケティング自動化を実現したい場合は、Einstein Email Insights で取得したエンゲージメントデータと Automation Studio のスケジュール配信機能を組み合わせます。ここでは概念的な流れと具体的な実装例を示します。
主要機能概要(Einstein Email Insights)
- 開封率・クリック率などの指標を AI が自動集計し、カスタムオブジェクト
Email_Insight__cに保存 - レコード単位でスコアリングが可能なため、Salesforce のフロー内で条件分岐に利用できる
Automation Studio との連携ポイント(概要)
- Marketing Cloud Connector を有効化し、Salesforce と MC 間のデータ同期を確立
- Insight データは REST API 経由でも取得可能で、外部サービスからも参照できる
具体的な連携フロー例(ステップ)
- Einstein Email Insights 設定
-
Marketing Cloud → Einstein Email Insights を有効化し対象キャンペーンを選択。結果は
Email_Insight__cに保存([Marketing Cloud Docs – Einstein Email Insights])。 -
Salesforce Flow でデータ取得
-
「レコード取得」要素で最新の
Email_Insight__cを取得し、開封率 > 30% のリードだけを対象にする Decision を作成。 -
Automation Studio ジョブ起動
-
Flow の「Apex アクション」または「外部サービス呼び出し」で Automation Studio の REST API (
/automation/v1/automations/{id}/start) を叩き、定期配信ジョブを開始。 -
結果の反映
- ジョブ完了後に再度 Insight が更新されるので、同フローでリードステータスを
Engagedに自動変更するループ処理を組む(例:Scheduled Flow と組み合わせ)。
ベネフィット:メール送信→エンゲージメント測定→次アクション自動化のサイクルが閉じ、マーケティング ROI が向上します。
テスト・デバッグ、エラーハンドリングと運用監視
本番環境でフローを稼働させる前に必ず 検証 と モニタリング を実施し、失敗時の自動通知やリトライ処理を組み込むことが重要です。
Flow デバッグとメールログ確認手順
| 手順 | 操作 |
|---|---|
| 1 | Flow Builder で対象フローを開き、右上の 「デバッグ」 ボタンをクリック |
| 2 | テスト用レコード(例: サンドボックスの Lead)を選択し、ステップ実行で各要素の出力をリアルタイム確認 |
| 3 | デバッグ完了後、Setup → メールログファイル を検索し、対象期間とユーザーを指定して CSV をエクスポート |
| 4 | CSV 内の DKIM-Signature 列が存在すれば署名成功、Status が Delivered であれば配信成功 |
| 5 | エラー行は ErrorCode と Message を参照し、フローロジックや DNS 設定を修正 |
ポイント:メールログは最大 30 日分しか保持されないため、重要なテストは早めに取得しておくこと([Salesforce Help – Email Log Files])。
失敗通知・リトライロジック実装例
- 失敗通知フロー
-
「メール送信」要素の 失敗パス に 「レコード作成」 要素を追加し、
Email_Failure__cカスタムオブジェクトにErrorCode,Recipient,Retry_Count__cを保存。 -
リトライ処理
- 失敗レコードの作成後、「待機」(5 分)を挟んで同じ「メール送信」要素を再実行。
-
最大 3 回までループさせ、4 回目は
Retry_Count__c = 3として最終失敗として扱う。 -
エラーアラート
- Platform Event または Flow の「レコード作成」トリガーで
Email_Failure__cが生成されたら、管理者 (admin@yourcompany.com) にメール通知を送信。
KPI ダッシュボードとアラート設定(運用モニタリング)
| KPI | 目的 | 推奨表示形式 |
|---|---|---|
| 送信成功率 | 配信品質全体の把握 | 円グラフ |
| バウンス率 | アドレス有効性チェック | 棒グラフ(月次) |
| リトライ回数 | システム障害検知 | 折れ線グラフ |
| DKIM エラー件数 | 認証設定の健全性確認 | 表形式+条件付きハイライト |
実装手順
1. レポート作成:EmailMessage オブジェクトとカスタムオブジェクト Email_Failure__c を結合し、上記項目を集計。
2. ダッシュボードにウィジェット追加。必要なら Lightning Dashboard Builder で自動更新間隔を 1 時間に設定。
3. Slack/メール連携:Dashboard の「スケジュールレポート」機能で閾値超過時に Slack チャネルへ通知(Outbound Message)する。
効果:異常が発生した瞬間にアラートが届くため、迅速な対処が可能になります。
まとめと次のアクション
- Org Wide Email と権限セット を正しく整備し、送信基盤を固める。
- DKIM は法的義務ではないものの、メール到達率・ブランド保護に不可欠な認証手段であるため、必ず設定し定期的にローテーションする。
- Flow Builder によるレコードトリガーフローは、Decision 要素とテンプレート活用で柔軟かつパーソナライズされた配信を実現できる。
- Einstein Email Insights + Automation Studio の連携により、エンゲージメントデータを自動的に次アクションへ反映し、データドリブンなマーケティングが可能になる。
- デバッグ・メールログ・失敗通知・リトライロジックで 品質保証 を徹底し、KPI ダッシュボードで継続的に監視する体制を構築する。
次のステップ:本ガイドに沿ってまずはサンドボックス環境で Org Wide Email と DKIM の設定 → テストフロー作成 を完了させ、テスト結果をもとに本番移行計画(権限付与、モニタリング設定)を策定してください。
参照情報
1. Salesforce Help – [Org Wide Email Addresses] (https://help.salesforce.com/articleView?id=org_wide_email_addresses.htm)
2. Salesforce Help – [Configure DKIM in Salesforce] (https://help.salesforce.com/articleView?id=dkim_configure.htm)
3. RFC 6376 – DomainKeys Identified Mail (DKIM) Specification (https://datatracker.ietf.org/doc/html/rfc6376)
4. Marketing Cloud Documentation – Einstein Email Insights (https://developer.salesforce.com/docs/marketing-cloud)
5. Salesforce Trailhead – Build Flows (https://trailhead.salesforce.com/content/learn/modules/flow_builder)
6. Salesforce Security Guide – Permission Set Auditing (https://help.salesforce.com/articleView?id=perm_sets_audit.htm)