EXM パイプライン

概要

EXM パイプラインとプロセッサーがどのように機能するかを理解すると、メッセージの生成と送信プロセスに関する洞察が得られます。

Email Experience Manager は、2 つの主要なパイプラインを使用してメッセージを生成および送信します。

パイプラインは EXM 設定ファイルで定義されます。カスタム プロセッサーを追加するか、デフォルトのプロセッサーを置き換えることで、パイプラインを拡張およびカスタマイズできます。

EXM パイプライン (およびそれらに含まれるプロセッサー) がどのように機能するかを理解すると、メッセージの生成と送信プロセス全体についての洞察が得られます。異なるメッセージ タイプでは、異なるプロセッサーの使用が必要になる場合があります。

DispatchNewsletter パイプラインは Sitecore.EmailExperience.ContentManagementPrimary.config ファイルで定義されます。このパイプラインは、以下のプロセッサーを含みます。

プロセッサー名

説明

CheckPreconditions

メール キャンペーンの送信を開始するために必要なすべての条件が満たされているかどうかを確認します。

MoveToQueuing

メール キャンペーンをキューイング状態に移動します。

DeployAnalytics

メール キャンペーン (キャンペーン、サブジェクト MV テスト) に関連する分析定義のワークフロー状態を Deployed に変更します。

PublishDispatchItems

メッセージ アイテムとメッセージ キャンペーン アイテムをパブリッシュします。

QueueMessage

マスター サーバーは、受信者を EXM master database のDispatchQueue テーブルに入れ、セグメント化されたリスト マネージャーのコンタクト ソースを使用して、以下の場合、コンタクトを除外します。

  • 通信の同意が取り消された

  • [マーケットしないでください] が設定された

  • バウンス カウントが最大許容数を超えた

MoveToProcessing

メール キャンペーンの状態を Sending に変更します。

LaunchDedicatedServers

マスター サーバーは、専用サーバー上の DispatchNewsletter パイプラインを起動します。これはパイプラインの簡略化されたバージョンであり、マスター サーバーにのみ適したプロセッサーは含まれていません。マスター サーバーと専用サーバーは、同じデータベースを共有します。

SendTestMessage

マスター サーバーは、クイック テストの送信に使用されます。

SendMessage

マスター サーバーと専用サーバーは、メール キャンペーンを生成して送信します。

プロセッサはー、EXM dispatch database から複数のコンタクトを取得します。Sitecore.EmailExperience.ContentManagement.config ファイルの EXM.DispatchBatchSize 設定でコンタクトの数を指定できます。

その場合、各サーバーは受信者のリストにアクセスして、残りの受信者の 1 人を取得して、メール キャンペーンを生成します。リストに受信者が残っている限り、プロセスは続行されます。

すべての受信者について、プロセッサーは以下のことを行います。

  • subscriber:assigned イベントをレイズします。

  • メッセージに対応するページを要求します。

  • 要求されたページのコンテキスト ユーザーとしてユーザーを設定します。セキュリティ制限が適用されます。

  • 「メッセージ開封」画像を追加します。

  • SendEmail パイプラインを開始します。

WaitForDispatchToFinish

少なくとも 1 つの専用ディスパッチ サーバーを設定していて、マスター サーバーのディスパッチを無効にする場合は、このパイプライン プロセッサーを有効にし、SendMessage パイプライン プロセッサーを無効にする必要があります。

パイプライン プロセッサーを有効または無効にするには、コメントイン/コメントアウトします。このプロセッサーはデフォルトで無効になっています。

MoveToSent

メール キャンペーンの状態を Sent に変更します。

NotifyDispatchFinished

ディスパッチ処理が完了したときに通知を送信します。

FinalizeDispatch

ラウンド ロビン MV テスト プロセスの内部変数をクリーンアップして、SMTP サーバーへの残りの接続を閉じます。

専用サーバーの DispatchNewsletter パイプライン

専用ディスパッチ サーバー向けに調整された DispatchNewsletter パイプラインの簡易版は、Sitecore.EmailExperience.EmailProcessing.config ファイルで定義されます。このバージョンのパイプラインには、以下のプロセッサーのみが含まれています。

  • CheckPreconditions

  • SendMessage

  • FinalizeDispatch

SendMessage プロセッサーは、送信されるすべてのメール メッセージについて、SendEmail パイプラインを起動します。

SendEmail パイプラインは Sitecore.EmailExperience.ContentManagement.config ファイルで定義されます。このパイプラインは、以下のプロセッサーを含みます。

プロセッサー名

説明

FillEmail

パーソナライズされた受信者データを使用してメッセージを生成します。

SendEmail

メール キャンペーンを MTA に送信します。

CreateTask

メール送信済みページ イベントとのインタラクションを追加するタスクを作成します。

Sleep

各メール メッセージの送信後、現在のサーバーで EXM が一時停止する時間を制御します。ミリ秒 (ms) で指定します。

マルチサーバー設定では、このプロセッサーを使用してサーバー間の負荷を分散できます。たとえば、専用サーバーでプライマリー CM サーバーの 4 倍のメール メッセージを送信する場合は、スリープ設定で以下の値を指定します。

  • プライマリー CM サーバーでは 200。サーバーは、各メール メッセージを送信した後、200 ミリ秒停止します。

  • 専用サーバーでは 50。サーバーは、各メール メッセージを送信した後、50 ミリ秒停止します。

次に、1000 通のメール メッセージを送信する場合、プライマリー CM サーバーは約 200 のメール メッセージ (20%) を送信し、専用サーバーは約 800 のメール (80%) を送信します。