EXMでのリンク生成とホスト名マッピング
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
EXMはWebリクエストを使用してメール メッセージのコンテンツをレンダリングし、メール メッセージ内の内部リンクはLinkManagerクラスを使用してレンダリングされます。
メール メッセージでコンテンツ アイテムへのURLを生成するロジックは、SitecoreがWebサイトでページをレンダリングするときに使用するのと同じアプローチです。Sitecoreでは、サイト定義やLinkManagerクラスの設定など、多くの設定が内部リンクの生成方法に影響します。
受信者が電子メール メッセージ内のリンクをクリックする場合、そのリンクがパブリックにアクセス可能なコンテンツ配信サーバーを指す絶対URLであることが重要です。したがって、メール メッセージを送信すると、EXMは、絶対URLで生成されていない、またはコンテンツ管理サーバーを指していないメール メッセージ内のリンクをチェックして修正します。
たとえば、テストメールキャンペーンを送信し、リンクをクリックしたテスト受信者を、まだ公開されていないコンテンツを含むWebサイトに誘導する場合は、マネージャールートで別のプレビューホスト名を設定できます。
EXMは、modifyHyperlinkパイプラインで指定されている次のプロセスに従ってハイパーリンクを検証および生成します。
-
#、javascript:、またはmailtoで始まるリンクは無視してください。
-
現在のServerUrl( https://cms.domain.comなど) を決定します。
-
リンクが絶対リンクでない場合は、ServerUrlをプレフィックスにして絶対リンクにします。
-
ホスト名を次のホスト名マッピングと照合し、必要に応じて、EXMによってホスト名が置き換えられます (テストの場合はhttps://preview.domain.com U 、ディスパッチの場合はhttps://www.domain.comなど)。
EXMは、次のホスト名マッピングを使用してホスト名をチェックします。
-
マネージャーのルートは、PreviewUrlからBaseUrlへのマッピングを生成します。
-
コンテンツ ツリーの /sitecore/system/Settings/Email/System/Hostname Mappingsの下に作成されたマッピング。
-
RendererUrlは、電子メール メッセージのマネージャー ルートのPreviewUrlまたはBaseUrlにマップされます。RendererUrlは、EXMがメール コンテンツのレンダリングに使用するホスト名であり、デフォルトでは現在のサーバーのホスト名になります。
手記ホスト名をマッピングするこの方法は、Sitecore.EmailExperience.Core.config file, in the HostnameMappingServiceクラスとHostnameMappingRepositoryクラスで定義されています。この動作をオーバーライドするには、IHostnameMappingServiceインターフェイスとIHostnameMappingRepositoryインターフェイスを実装する独自のクラスを作成し、それに応じて 構成にパッチを適用します 。
-
-
リンクにqueryStringパラメーターを追加して、メッセージ、xDBコンタクト、使用されているメール アドレス、ターゲット言語、A/Bテスト バリアントの識別に役立てます。
-
ディスパッチの場合のみ: リンクをデフォルトのクリックトラッカー(デフォルトはRedirectUrlPage.aspx ) に置き換え、元のURLをクエリ文字列パラメータとして追加します。
-
ディスパッチの場合のみ: queryStringを暗号化します。
カスタムホスト名マッピングの追加
カスタムホスト名マッピングの追加
modifyHyperlinkパイプラインで指定されているホスト名マッピングのデフォルト動作でリンクに正しくないホスト名が生成される場合 (たとえば、リンクによって受信者がコンテンツ管理サーバー、間違ったサイト、間違った言語に誘導される場合) は、カスタム ホスト名マッピングを追加できます。
たとえば、組織に次の2つのサイトがあるとします。
-
サイト1
-
コンテンツ管理:https://cms.site1.com
-
コンテンツ配信:https://www.site1.com
-
-
サイト2
-
コンテンツ管理:https://cms.site2.com
-
コンテンツ配信:https://www.site2.com
-
この例では、ベースURLがhttps://www.site1.comのマネージャールートにメールキャンペーンを作成します。電子メール メッセージでは、Site1とSite2の両方へのリンクを追加します。
デフォルトでは、Site2のWebページの場合、コンテンツ管理サーバーはhttps://cms2.site2.comを指すリンクを生成しますが、EXMはコンテンツ配信サーバー上の同じページの正しいアドレスを特定できません。この問題を解決するには、コンテンツ・エディターで、コンテンツ管理サーバーのホスト名を同等のコンテンツ配信サーバーにマップするホスト名マッピング・アイテムを作成できます。
ホスト名マッピング項目を作成するには:
-
/sitecore/system/Settings/Email/System/Hostname Mappingsフォルダの下に新しいアイテムを作成します。Hostname Mappingテンプレート(/sitecore/templates/Email Campaign/Global Settings/Hostname Mapping)を使用します。
-
Originalフィールドに、元のコンテンツ管理サーバーのホスト名 (https://cms.site2.com/ など) を入力します。
-
Previewフィールドに、プレビューWebサイトの同等のホスト名を入力します。これはオプションです。
-
Publicフィールドに、コンテンツ配信サーバーの同等のホスト名 (https://www.site2.com/ など) を入力します。
-
