ECM/EXMでレンダラーURL設定をカスタマイズする


解説

レンダラーURLとは、ニュースレターのプレビューや受信者へのニュースレター配信時に、メッセージ ソースのダウンロードに使用されるホスト名です。

ECM 1.3 Initial releaseからEXM 3.4 Update-1 までは、URLはECM/EXMのソース コードによって自動的に設定されます(リリース ノートを参照)。

しかし、一部の環境では、このホスト名を手動で構成しなければならない場合があります。例えば、使用されているCMサーバーのホスト名が複数あり、ECMが正しいホスト名を使用し、不適切なホスト名を参照するだけでニュースレターのレンダリングに失敗しないようにしなければならない場合などです。不適切なホスト名を使用すると、メールのプレビューまたは配信時に、次のような問題(エラー)が発生する可能性があります:

The remote name could not be resolved.
(リモート名を解決できませんでした。)
The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel (when secured host was chosen by ECM).
(基になる接続が閉じられました:SSL/TLS セキュア チャネルの信頼関係を確立できませんでした(セキュアなホストが ECM によって選択された場合)。)

 

EXM 3.5 Initial release以降では、「Sitecore.EmailExperience.Core.config」ファイルのRendererUrl設定でホスト名が指定されていることに注意してください。 より詳細な情報については、「EXM 構成設定」のドキュメントを参照してください。

解決策

レンダラーURLを手動で指定できるようにするには、小規模な拡張機能を実装できます。

次の例を確認してください:

  1. カスタム プロセッサを作成して、レンダラーURLを構成ファイルの値で更新します。
    例:
    public void Process(PipelineArgs args)
    {
      GlobalSettings.RendererUrl = Settings.GetSetting("ECM.RendererUrl");
    }
  2. このプロセッサをweb.config<initialize>パイプラインに追加します:
    <pipelines>
    <initialize>
      ...
        <processor type="<your-processor-class-name, your-assembly" />
    </initialize>
  3. web.configECM.RendererUrl設定の必要な値を指定します。
    このアドレスは、Sitecore環境のECMサーバー(メッセージが作成および配信される場所)からアクセスできる必要があります:
    <settings>
    ...
      <setting name="ECM.RendererUrl" value="http://yourhost" />