E-mail Router 構成ファイルのカスタマイズ

こんにちは。 今回はよくお問い合わせのある E-mail Router構成ファイル についてご紹介します。

Microsoft.Crm.Tools.EmailAgent.xml の保存場所

E-mail Router をインストールして使用する場合、E-mail Router の構成ファイルである Microsoft.Crm.Tools.EmailAgent.xml は、E-mail Router がインストールされているサーバーの以下のパス(既定)に保存されています。

E-mail Router の構成ファイル場所

Microsoft.Crm.Tools.EmailAgent.xml は、以下の E-mail Router 構成マネージャにて E-mail Router の構成時に生成される XML ファイルです。

E-mail Router 構成マネージャ画面

 この構成ファイルを編集することにより、詳細設定をカスタマイズできます。
例えば、送信メールのフォーマット (既定は Utf-8) を変更することができます。
その他色々な設定をカスタマイズ可能ですので、以下に、E-mail Router の構成ファイル内に定義されている各タグについてご紹介します。

 Microsoft.Crm.Tools.EmailAgent.xml 内における定義内容

本ファイルは E-mail Router を実行するためのシステム構成とプロバイダ構成の定義を含みます。プロバイダ構成には、全プロバイダに共通の設定と各プロバイダに特有の設定があります。

以下の項目ごとに各定義の説明を記載します。 

1. システム構成
2. プロバイダ構成 (共通)
2-1. Outboundプロバイダ構成
2-2. Inboundプロバイダ構成

 注意 : 構成ファイル内に指定してある時間は、ミリセカンド単位となります。(1000 ミリセカンド = 1 秒)

各詳細は以下になります。

 1. システム構成

システム構成では、E-mail Router の基本設定を指定します。各タグの詳細は以下になります。

タグ名

説明

MaxThreads

プロバイダを実行する内部スレッドのプールサイズを定義します。

MaxThreadExecution

スレッドが実行できる最大時間

SchedulingPeriod

異なるプロバイダをスケジュールする間隔を調整できます。

ConfigRefreshPeriod

構成ファイルから値が(再)読み込みされた後の時間間隔

ConfigUpdatePeriod

CRM サーバーと構成ファイル間において、E-mail Router がユーザーと同期してメール設定を処理する間隔

LogLevel

ログのレベルを定義します。1 は通常ログ、2 は 高度なログ 3 は詳細

[補足]
E-mail Router のログは、アプリケーション イベントログに出力されます。
E-mail Router ログの設定については、以下のサポート技術情報 907490 をご参照ください。

タイトル : Microsoft Dynamics CRM でトレース機能を有効にする方法
URL : https://support.microsoft.com/kb/907490/ja-jp
セクション : Microsoft Dynamics CRM 4.0 E-mail Router

 システム構成指定箇所のサンプル XML

<SystemConfiguration>
 <MaxThreads>50</MaxThreads>
 <MaxThreadExecution>600000</MaxThreadExecution>
 <SchedulingPeriod>1000</SchedulingPeriod>
 <ConfigRefreshPeriod>5000</ConfigRefreshPeriod>
 <ConfigUpdatePeriod>300000</ConfigUpdatePeriod>
 <LogLevel>1</LogLevel>
</SystemConfiguration>

2. プロバイダ構成 (共通)

プロバイダには Outbound (送信用) と Inbound (受信用) の 2 種類があり、両プロバイダに共通の設定と各プロバイダに個別の設定があります。まずは、両プロバイダに共通の設定からご紹介します。

タグ名

説明

ProviderConfiguration

E-mailのプロバイダ用の設定です。それぞれのプロバイダに個別の設定があります。DeployementId は構成マネージャーで作成されたものは自動で GUID が割り当てられます。GUID でないものは手動で作成されたエントリーと判断され、構成ファイルの更新時もメンテナンスされます。

ProviderAssembly

プロバイダを含むアセンブリ

ProviderClass

アセンブリ内のプロバイダ クラス

CrmServerUrl

プロバイダがメールを同期する CRM サーバーの URL

CrmAuthMode

CRM サーバーへの認証の種類を指定します。指定可能な値は、 WindowsAuthentication、Passport、ClearText の 3 つです。

CrmUser

CRM に接続するためのユーザーアカウント

CrmPassword

CRM に接続するためのユーザーのパスワード

EmailServer

メールサーバー名

EmailAuthMode

メールサーバーの認証の種類。指定可能な値は、WindowsAuthentication (既定)、NTLM、ClearText と Anonymous です。

LogLevel

プロバイダのログレベル。1 は、通常ログ、2 は 高度なログ 3 は詳細ログ

Target

メールを処理するターゲットを指定します。Outbound プロバイダでは メールサーバー名 を指定して、Inbound プロバイダの場合はメールボックス名を指定します

Direction

プロバイダが Outbound または Inbound かを指定します。指定可能な値は Inbound と Outbound です。

CacheCapacity

内部のキャッシュ可能 (ハッシュ テーブル) サイズを指定します。一般的には 1024です。

ConnectionTimeout

メールサーバーに対しての接続タイムアウト時間

PollingPeriod

ポーリング間隔

MaxMessageCount

1ポーリング間にダウンロード可能な最大メッセージ数

EmailPort

メールサーバーとやり取りする時に使用するポート

次に Outbound と Inbound の各プロバイダに個別の設定項目について以下にご紹介します。 

2-1. Outboundプロバイダ構成

Outbound プロバイダは、CRM からメールを送信するために使用します。 送信 E-mail Router で使用できる唯一の既定 Outbound プロバイダは SmtpPollingSendEmailProvider です。SMTP Outbound プロバイダは、指定のユーザーとキューの送信待ちのメールをダウンロードして、ローカルまたは指定された SMTP のスタックからメールを送信します。

Outbound プロバイダ用の設定項目は以下になります。

タグ名

説明

UserId

送信メールを処理するユーザーの CRM ID を指定します。複数の UserID タグは ProvierConfiguration タグ内にてサポートしています。

QueueId

送信メールを処理するキューの ID

EmailUseSsl

送信メールに SSL が使用されるかを定義します。設定可能な値は、true と false です。

DeliveryMethod

送信メールの伝達方法を指定します。サポート値は System.Net.Mail.SmtpDeliveryMethod に使用されているものと同様です。

PendingStatusDelay

最後のメールが送信処理された後の遅延設定を指定しています。E-mail Router は次のメールを送信する前に本値に設定してある間、メールの送信を保留にします。

SendingStatusDelay

未送信メールが再処理される遅延設定

CodePage

送信メールのコードページを定義します。 既定値は Utf-8 です。

MaximumDeliveryAttempts

E-mail Router がメール送信を試みる最大回数を指定します。最大回数に達した場合は、メール送信のステータスは "Failed" (値は 8) と設定されます。メール送信ステータスに関しての詳細値は、SDK の [EmailStatus Class (CrmHelpers)] をご参照ください。

BatchSize

BackgroundSendEmail リクエストを実行する際に、バッチするユーザー数とキュー数を指定します。BackgroundSendEmail リクエストは、処理待ちのメールをダウンロードする際に実行されます。

RequestBatchSize

1回の BackgroundSendEmail リクエストによりダウンロードする最大メッセージ数

Outbound プロバイダ 指定箇所の サンプル XML

<ProviderConfiguration deploymentId="fd880e79-6f1b-4e40-aa05-628b845653fb">
   <ProviderAssembly>Microsoft.Crm.Tools.EmailProviders.dll</ProviderAssembly>
   <ProviderClass>
      Microsoft.Crm.Tools.Email.Providers.SmtpPollingSendEmailProvider
   </ProviderClass>
   <CrmServerUrl>https://ServerName/OrganizationName</CrmServerUrl>
   <CrmAuthMode>WindowsAuthentication</CrmAuthMode>
   <CrmUser>domainName\administrator</CrmUser>
   <CrmPassword>
      {2A48C4DB-F2BF-48DF-A8EF-20F531EA9BAA}:jEPrLEnKMdMI+jgjIAabJg==@0HlCR312abwYDupnkrAi8A==
   </CrmPassword>
   <EmailServer>EmailServerName</EmailServer>
   <EmailAuthMode>WindowsAuthentication</EmailAuthMode>
   <UserId>9e80ac64-c82d-dd11-8246-0013720ec2db</UserId>
   <UserId>17d87ab0-c62d-dd11-8726-0013720ec2db</UserId>
   <Target>EmailServerName</Target>
   <Direction>Outbound</Direction>
   <LogLevel>1</LogLevel>
   <CacheCapacity>1024</CacheCapacity>
   <ConnectionTimeout>300000</ConnectionTimeout>
   <PollingPeriod>60000</PollingPeriod>
   <MaxMessageCount>1000</MaxMessageCount>
   <EmailPort>25</EmailPort>
   <EmailUseSsl>false</EmailUseSsl>
   <DeliveryMethod>Network</DeliveryMethod>
   <PendingStatusDelay>30000</PendingStatusDelay>
   <SendingStatusDelay>60000</SendingStatusDelay>
   <CodePage>Utf-8</CodePage>
   <MaximumDeliveryAttempts>10</MaximumDeliveryAttempts>
   <BatchSize>5</BatchSize>
   <RequestBatchSize>5</RequestBatchSize>
</ProviderConfiguration>

2-2. Inboundプロバイダ構成

Inbound プロバイダは、CRM にメールを受信するために使用します。

CRM 4.0 E-mail Router は 2 つの Inbound プロバイダ (Exchange と POP3) を提供します。この 2 つは、メールボックスに接続するために使用されるプロトコルに基づいています。その他に、転送または転送メールボックスのメールを処理する Inbound メールボックス プロバイダもあります。

Inbound プロバイダに固有の設定項目は以下になります。

タグ名

説明

EmailUser

メールボックスがモニターされるユーザー名

EmailPassword

メールボックスにログインする際に使用するパスワード

EmailAddress

メールボックスがモニターされるメールアドレス

IsForwardMailbox

モニターされているメールボックスが転送用メールボックスであるのかを指定します。 メールボックスが転送用メールボックスの場合、Email Routerはメールそのものではなく添付されたファイルをメールの本文として処理します。ユーザーのメールボックスでは、メールを添付ファイルとして転送します。

DeleteEmails

メールが処理された後、メールボックスからメールが削除されるのかを定義します。メールボックスがモニターされていない場合に有効な設定です。

MessageExpiry

メールボックスにあるメッセージにおいて、時間が経過していて処理されないと判断されるまでの時間を設定します。メール処理中にエラーが発生した時などに有効な設定です。

MoveEmails

配信不能メールを別のフォルダに移行するかどうかを定義します。

Inbound プロバイダ 指定箇所の サンプル XML

<ProviderConfiguration deploymentId="fd880e79-6f1b-4e40-aa05-628b845653fb">
   <ProviderAssembly>Microsoft.Crm.Tools.EmailProviders.dll</ProviderAssembly>
   <ProviderClass>
      Microsoft.Crm.Tools.Email.Providers.ExchangePollingMailboxProvider
   </ProviderClass>
   <CrmServerUrl>https://serverName/OrganizationName</CrmServerUrl >
   <CrmAuthMode>WindowsAuthentication</CrmAuthMode>
   <CrmUser>domainName\Administrator</CrmUser>
   <CrmPassword>
      {2A48C4DB-F2BF-48DF-A8EF-20F531EA9BAA}:jEPrLEnKMdMI+jgjIAabJg==@0HlCR312abwYDupnkrAi8A==
   </CrmPassword>
   <EmailServer>https://emailServerName</EmailServer>
   <EmailAuthMode>WindowsAuthentication</EmailAuthMode>
   <EmailUser>domainName\administrator</EmailUser>
   <EmailPassword>
   {2A48C4DB-F2BF-48DF-A8EF-20F531EA9BAA}:edkflQCsqYuDjLgtvCezJg==@x3JEvQyWBlCakbJGzbgv6w==
   </EmailPassword>
   <EmailAddress>Administrator@microsoft.com</EmailAddress>
   <Target>First name Last name</Target>
   <Direction>Inbound</Direction>
   <LogLevel>1</LogLevel>
   <CacheCapacity>1024</CacheCapacity>
   <IsForwardMailbox>false</IsForwardMailbox>
   <DeleteEmails>false</DeleteEmails>
   <ConnectionTimeout>300000</ConnectionTimeout>
   <PollingPeriod>60000</PollingPeriod>
   <MaxMessageCount>1000</MaxMessageCount>
   <MessageExpiry>86400000</MessageExpiry>
   <EmailPort>80</EmailPort>
   <MoveEmails>true</MoveEmails>
</ProviderConfiguration>

 

以上、E-mail Router 構成のカスタマイズ時にご参照ください!

- Dynamics CRM サポート   矢野 時枝

[情報元]

タイトル : Email router configuration XML file explained
URL : https://blogs.msdn.com/crm/archive/2008/07/02/email-router-configuration-xml-file-explained.aspx

CRM SDK (英語)

   CRM 4.0 ソフトウェア開発キットは以下よりダウンロードできます。

   タイトル : Microsoft Dynamics CRM 4.0 ソフトウェア開発キット
   URL : https://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=82e632a7-faf9-41e0-8ec1-a2662aae9dfb

      CrmSdk4.exe を展開後、crmsdk4.chm を開くと [Microsoft Dynamics CRM SDK] のヘルプ ファイルが開きます。[System Configuration Settings] と [Provider Configuration Settings] のキーワードで検索すると、本内容でご紹介した各タグの説明のページが表示されます。