-
Notifications
You must be signed in to change notification settings - Fork 0
MS_CRMServerSideSync
-
TOP > Dynamics CRM > CRMの電子メールの管理
- CRM E-mail Router
- CRM サーバー側同期
- Outlook用Microsoft Dynamics CRM
CRM E-mail Router の代替手段
-
CRM E-mail Router と実質的に同じ機能
-
違いは、
-
E-mail Router は、別のコンポーネントとしてインストールされる。
-
サーバー側同期は
- CRM Server の一部として実行される。
- 機能としては、電子メールだけでなく、
CRM Server で作成した予定、取引先担当者、タスクは直接同期可能。
-
その他機能
-
| 機能 | 説明 |
|---|---|
| リソースの効率的な使用 | アクティブでないメールボックスを無効化する。 |
| E-mail Router プロファイルの移行 | E-mail Router からの移行が可能 |
| サービスの分離 | キュー(非同期操作)の管理・構成を個別に設定可能 |
| エラーレポートの提供 | CRM Web アプリケーションでエラー ログ・レポートが提供される。 |
| パフォーマンス カウンター | 電子メール処理を測定するカウンターが非同期サービスに追加された。 |
移行メモ(正誤): 元ページの「アクティでないメールボックスの無効化する」は
「アクティブでないメールボックスを無効化する」の誤記・脱字と判断し、修正した。
補足(設計上の意味): E-mail Router との本質的な違いは、
別プロセス(別サーバ)か、CRM の一部かという点にある。
CRM の一部として動くことで、
- 別サーバの構築・監視・バックアップが不要
(→ CRMの展開の管理とトラブルシューティングの
バックアップ対象から E-mail Router の構成ファイルが消える)- 設定が CRM の Web アプリケーション内で完結する
(E-mail Router 構成マネージャという別 GUI が不要)- 予定・取引先担当者・タスクも直接同期できる
(E-mail Router では Outlook 用クライアント が必要だった)という利点が生まれる。
CRMのサーバ機能の「非同期処理サービス」の
一部として動作する。
| CRM 展開の種類 | 電子メール システム | 電子メール同期 | 予定、取引先担当者、タスク同期 | プロトコル |
|---|---|---|---|---|
| Online | Exchange Online(2014 年春 ver 以降) | はい | はい | Exchange Web Service(SOAP) |
| 設置型 | ・Exchange 2010 ・Exchange 2013 |
はい | はい | Exchange Web Service(SOAP) |
| 設置型 | ・POP3 ・SMTP |
はい | いいえ | ・POP3 ・SMTP |
移行メモ: 元ページの Online 行は「電子メール同期」「予定…同期」の列にも
「Exchange Online(2014年春ver以降)」と書かれていたが、
他行との整合から「はい」の意と判断し、そのように整えた。
補足: POP3 / SMTP では予定・取引先担当者・タスクが同期できない点が要点。
これらのプロトコルはメールしか扱えないためで、
カレンダー連携が要件にあるなら Exchange が必須になる。
- 電子メール処理方法をサーバー側同期に設定。
- ユーザおよびキューのメールボックス レコードを構成
- 転送用メールボックスのメールボックス レコードを構成(必要に応じて)
- 1 つ以上の電子メール サーバー プロファイルを構成
-
Web アプリケーションで[設定]→[電子メールアクセス構成]に移動
→[電子メールアクセス構成の設定]をクリック
→[システムの設定]ウィンドウ →[電子メールの処理方法]で[サーバー側同期]を選択。 -
各ユーザー or キューのメールボックス レコードの
- [受信メール]に対して以下のオプションを選択
- [サーバー側同期または E-mail Router](どちらか一方)
- [転送用メールボックス](どちらか一方)
- [送信メール]に対して[サーバー側同期または E-mail Router]オプションを選択
- [受信メール]に対して以下のオプションを選択
-
CRM と電子メール システム間で電子メールのルーティングをするのに必要なもの。
(E-mail Router の受信プロファイル・送信プロファイルのようなもの) -
電子メール サーバー プロファイルは、単一の組織に適用される。
-
電子メール システム毎に別々の電子メール サーバー プロファイルの構成が必要になることがある。
- Web アプリケーションで[設定]→[電子メールアクセス構成]に移動
[電子メール サーバー プロファイル]をクリック、[新規]をクリックし- [Exchange プロファイル]をクリック(どちらか一方)
- [POP3 プロファイル]をクリック(どちらか一方)
- サーバー側同期を使用して、電子メール サーバー プロファイルを作成し、メールボックスを追加する
https://technet.microsoft.com/ja-jp/library/Dn832133.aspx- 電子メール サーバー プロファイルの作成
- Exchange 電子メール サーバー プロファイルで、以下の情報を指定します。
- 電子メール サーバー プロファイルの作成
- サーバー側同期を使用して、電子メール サーバー プロファイルを作成し、メールボックスを追加する
https://technet.microsoft.com/ja-jp/library/Dn832133.aspx- 電子メール サーバー プロファイルの作成
- POP3/SMTP プロファイルで、以下の情報を指定します。
- 電子メール サーバー プロファイルの作成
移行メモ: 上記 2 節は、元ページでも参照リンクと
「以下の情報を指定します。」という導入文のみで、
具体的な項目は記載されていなかった。
指定する情報の種類は、E-mail Router の受信プロファイルと
ほぼ同じ(サーバの種類・場所、認証方法、資格情報)である。
- サーバー側同期を使用して、電子メール サーバー プロファイルを作成し、メールボックスを追加する
- 電子メール サーバー プロファイルにメールボックスを追加
https://technet.microsoft.com/ja-jp/library/Dn832133.aspx#BKMK_AddMailbox
- 電子メール サーバー プロファイルにメールボックスを追加
CRM Online と Exchange Online を組合せて使用する場合は、
S2S 認証プロトコルで電子メール サーバー プロファイルが
自動構成されるため、電子メールの資格情報の指定は不要。
補足(S2S=サーバー間認証): 両方が同じ Microsoft 365 テナント内にあるため、
サービス間の信頼関係で認証が完結する(ユーザの ID / パスワードが不要)。
CRM E-mail Router の
「ユーザー指定の資格情報はパスワード変更のたびに更新が必要」という
運用負荷が、これで消える。
CRMの電子メールの管理で
サーバー側同期の利点として
「資格情報を構成しなくても Office 365、Exchange Online と同期可能」と
挙げられているのはこのことである。
CRM Web アプリケーションで SSL が使用されていない場合、以下の操作は実行できない。
- 電子メール サーバー プロファイルや、メールボックス レコードに電子メール資格情報の保存
- SSL を使用していないサーバーに接続?
設置型のみテスト目的でこの要件の設定を無効にできる(設定の変更後、要 IIS 再起動)。
-
MSCRM_CONFIG(構成データベース)のDeploymentPropertiesテーブル -
PowerShell で設定可能
-
Microsoft Dynamics CRM 2013 Change Deployment Settings via PowerShell - Microsoft Dynamics CRM Community
https://community.dynamics.com/crm/b/tsgrdcrmblog/archive/2014/08/31/microsoft-dynamics-crm-2013-change-deployment-settings-via-powershell- To allow the saving of credentials when SSL is not used, we can run the following commands:
-
$itemSetting = new-object 'System.Collections.Generic.KeyValuePair[String,Object]'("AllowCredentialsEntryViaInsecureChannels",1)
$configEntity = New-Object "Microsoft.Xrm.Sdk.Deployment.ConfigurationEntity"
$configEntity.LogicalName="Deployment"
$configEntity.Attributes = New-Object "Microsoft.Xrm.Sdk.Deployment.AttributeCollection"
$configEntity.Attributes.Add($itemSetting)
Set-CrmAdvancedSetting -Entity $configEntity- To allow the use of connections to servers that do not use SSL, we can run the following commands:
$itemSetting = new-object 'System.Collections.Generic.KeyValuePair[String,Object]'("ECAllowNonSSLEmail",1)
$configEntity = New-Object "Microsoft.Xrm.Sdk.Deployment.ConfigurationEntity"
$configEntity.LogicalName="Deployment"
$configEntity.Attributes = New-Object "Microsoft.Xrm.Sdk.Deployment.AttributeCollection"
$configEntity.Attributes.Add($itemSetting)
Set-CrmAdvancedSetting -Entity $configEntity移行メモ: 元ページのコードでは、引用元の記載に由来する
全角のアポストロフィ(‘)や、$configEntity.Attributes.Add($itemSetting)と
Set-CrmAdvancedSettingが 1 行に連結された箇所があった。
実行可能な形になるよう、半角のアポストロフィに直し、行を分けた。
また、テーブル名の「DeploymentproPerties」は
DeploymentPropertiesの表記ゆれと判断し、修正した。
補足(この設定は本番で使わない): 元ページも「設置型のみテスト目的で」と
明記しているとおり、これは資格情報を平文で流せるようにする設定である。
CRMインターネット展開用の構成(IFD)が
HTTPS を前提にしているのと同じ理由で、本番環境では SSL を構成すべきである。
- Web アプリケーションで[設定]→[電子メールアクセス構成]に移動
→[メールボックス]をクリック →[新しい転送用メールボックス]をクリック
→[メールボックス:新規メールボックス]で次の情報を指定。- [名前]
- [電子メール アドレス]
- [サーバー プロファイル]:電子メール サーバー プロファイルを "選択"
- [受信メール]:[サーバー側同期または E-mail Router]
- [送信メール]:[なし]
- [予定、取引先担当者、タスク]:[なし]
- 各ユーザー or キューのメールボックス レコードの
- [受信メール]:[転送用メールボックス]
- 転送ルールを構成
CRM Server ←(同期)→ Outlook 用 CRM Client(フィルタ)←(同期)→ Exchange Server
CRM Server ←(同期)→ Exchange Server ←(手動で追跡)→ Outlook 用 CRM Client
補足(この経路の変更が意味すること): 以前は
クライアント PC が中継役だったため、
- その PC で Outlook を起動していないと同期されない
- 複数 PC を使うユーザで競合が起きる
- PC の障害が同期の障害になる
という問題があった。
サーバー側同期では サーバ同士が直接やりとりするため、
クライアントの状態に依存しなくなる。
CRMの電子メールの管理の比較で
Outlook 用クライアントのデメリットとして
「Outlook が起動されている必要がある」と挙げられていた問題の解消にあたる。
- Web アプリケーションで[設定]→[電子メールアクセス構成]に移動
→[メールボックス]をクリック → 変更するメールボックス レコードを開く。 - [メールボックス]ウィンドウの[予定、取引先担当者、タスク]で、[サーバー側同期]を選択する。
- [保存して閉じる]をクリックする。
-
プロファイルの移行手順
- Web アプリケーションで[設定]→[電子メールアクセス構成]に移動
→[E-mail Router データの移行]をクリック - [E-mail Router データの移行]ウィンドウで 3 つのファイルを参照し[次へ]をクリックする。
- [移行する電子メール サーバー プロファイルの選択]で
移行する E-mail Router について[はい]を選択し[次へ]をクリックする。 - [移行の概要の確認]ページで[開始]をクリックする。
- [概要]ページで[完了]をクリックする。
- Web アプリケーションで[設定]→[電子メールアクセス構成]に移動
-
プロファイルの後処理
- E-mail Router のアンインストール
- 他の組織で使用する場合、E-mail Router 構成マネージャを使用して移行済みプロファイルのみ削除。
補足: 「3 つのファイル」は、
CRMのアップグレード(2011→2013)で
バックアップ対象として挙げられている E-mail Router の状態記録用ファイル
(Microsoft.Crm.Tools.EmailAgent.xmlなど)を指す。
移行前にこれらを退避しておく必要がある。
専用サーバを分離して構築したい場合に必要。
-
電子メール統合サービス ロール
- サーバー側同期用に構成されたメールボックスを非同期処理するロール。
- CRM 非同期サービスの非同期プロセスとしてインストールする。
-
インストール手順
-
SetupServer.exeを起動 - [サーバーの役割の指定]ページで[電子メール統合サービス]のみ指定。
- [サービス アカウントの指定]ページで
非同期サービス・監視サービスの実行アカウントを指定する。
-
補足: CRMのサーバ機能の
バックエンドの役割に含まれるロールである。
「サーバー側同期は CRM の一部」と言っても、
役割として切り出して別サーバに置くことはできる。
大量のメールボックスを監視する環境では、
フロントエンドの応答性能に影響を与えないよう分離する意味がある。
-
メールボックス レコードを有効化する場所。
- 電子メール サーバー プロファイル内
- メールボックス レコードの一覧
- 個々のメールボックス レコード内
-
電子メール サーバー プロファイル内で有効化する。
- Web アプリケーションで[設定]→[電子メールアクセス構成]に移動
[電子メール サーバー プロファイル]をクリックする。 - テストする電子メール サーバー プロファイルを開く。
- リボンの[メールボックスのテストと有効化]をクリックする。
- リボンの[電子メール アクセス構成のテスト]ウィンドウで[OK]をクリックする。
- Web アプリケーションで[設定]→[電子メールアクセス構成]に移動
-
メールボックス レコードに関連付けられたユーザおよびキューのメールボックスに
テスト用の電子メール メッセージが送信される。 -
電子メール サーバー プロファイル内でテストが実行された場合、
テスト用の電子メール メッセージは、電子メール サーバー プロファイルに関連付けられた、
すべてのメールボックス レコードに送信される(変更、一部 無効化などはできない)。
補足(テストの副作用に注意): 「すべてのメールボックス レコードに送信される」
かつ「一部だけ除外できない」という仕様は、実務では厄介である。
本番環境で気軽に実行すると、全ユーザにテスト メールが届く。
本ページが括弧書きでわざわざ注記しているのはこのためで、
個々のメールボックス レコードから実行できる方を使うのが無難である。
メールボックス レコードの状態フィールドに表示される。
-
メールボックス レコードに関するエラーが発生した場合、
- メールボックス レコード
- 電子メール サーバー プロファイル
の上部に通知バーが表示される(詳細は、通知ナビゲーション領域に表示される)。
-
Web アプリケーションのメイン通知領域にも表示される。
補足: CRMの電子メールの管理で
サーバー側同期の利点として挙げられていた
「エラーレポートの提供」が、この通知機能にあたる。
E-mail Router では別サーバのログを見に行く必要があったのに対し、
CRM の画面上でエラーに気づけるようになった点が実務上の改善になる。
- 本 Wiki 内
Tags: Dynamics CRM
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。