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 がインストールされているサーバーの以下のパス(既定)に保存されています。
Microsoft.Crm.Tools.EmailAgent.xml は、以下の E-mail Router 構成マネージャにて E-mail Router の構成時に生成される XML ファイルです。
この構成ファイルを編集することにより、詳細設定をカスタマイズできます。
例えば、送信メールのフォーマット (既定は 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] のキーワードで検索すると、本内容でご紹介した各タグの説明のページが表示されます。
Comments
- Anonymous
May 30, 2016
毎々、お世話になっております。送信メールのCodePageをシフトJISで送信したいのですが、その場合、 shift_jisとすればよいのでしょうか?shift-jis等も試しているのですが、UTF-8のままで送信されてしまうようです。- Anonymous
June 06, 2016
(会社名とお名前をコメントより削除させて頂きました)コメントありがとうございます。また、ご連絡が遅くなり申し訳ございません。CodePage については、以下技術情報がございますのでご参照ください。shift-jis, Shift_jis のどちらでも問題ないようです。https://msdn.microsoft.com/ja-jp/library/aa288104(v=vs.71).aspxまた、UTF-8 (規定値) に戻ってしまう事象については、以下コミュニティ (英語) の情報がございます。その中に、解消策に技術情報が記載されておりますので、ご確認くださいhttps://community.dynamics.com/crm/f/117/t/39687https://support.microsoft.com/en-us/kb/972150- 野田 良二
- Anonymous