Exchange フォルダー レベルの追跡ルールの構成

フォルダー レベルの追跡ルールを設定して、Microsoft Exchange の受信トレイフォルダを Microsoft Dataverse レコードにマッピングし、Microsoft Exchange フォルダ内のすべての電子メールが Dataverse のマッピングされたレコードに対して自動的に追跡されるようにします。 電子メールのフォルダー レベルの追跡は、以下の場合にのみ使用できます。

  • フォルダー レベルの追跡機能が Dataverse インスタンスに対して有効化されます。 Web クライアントや Dynamics 365 for Outlook を使用して、フォルダー レベルの追跡を有効にできます。 詳細: フォルダー レベルの追跡

  • 追跡の対象のフォルダーが、Microsoft Exchange の受信トレイの下にあります。 受信トレイ の下にないフォルダーのメールは追跡されません。

フォルダー レベルの追跡のルールの作成と管理

メールボックス自動追跡フォルダー (MailboxTrackingFolder) テーブル を使用して、フォルダー レベルの追跡ルールをプログラムで構成、管理します。 追跡ルールを設定するには、以下の列を使用します。

Column 内容
ExchangeFolderId マッピングする Microsoft Exchange フォルダー ID を指定します。 Exchange Web サービス (EWS) を使用して、受信トレイの下にあるフォルダーの ID を取得できます。 詳細については、「MSDN: Exchange で EWS を使用してフォルダーを操作する方法について」を参照してください。 これは必須の列です。
MailboxId ルールを作成する対象の、Dataverse 内のメールボックス ID を指定します。 これは必須の列です。
RegardingObjectId 指定した Microsoft Exchange フォルダーのマップ先となる、Dataverse 内の関連オブジェクトを設定します。 これは、オプションの列です。

次のサンプル コードは、フォルダー レベルの追跡のルールの作成方法を示しています。

// Create a folder-level tracking rule  
MailboxTrackingFolder newTrackingFolder = new MailboxTrackingFolder();  

// Set the required attributes  
newTrackingFolder.ExchangeFolderId = "123456"; // Sample value. Retrieve this value using Exchange Web Services (EWS)  
newTrackingFolder.MailboxId = new EntityReference(Mailbox.EntityLogicalName, _mailboxId);  

// Set the optional attributes  
newTrackingFolder.RegardingObjectId = new EntityReference(Account.EntityLogicalName, _accountId);  
newTrackingFolder.RegardingObjectId.Name = _accountName;  
newTrackingFolder.ExchangeFolderName = "Sample Exchange Folder";  

// Execute the request to create the rule   
_folderTrackingId = _serviceProxy.Create(newTrackingFolder);  
Console.WriteLine("Created folder-level tracking rule for '{0}'.\n", _mailboxName);  

メールボックスごとに、フォルダー レベルの追跡のルールを最大 25 まで作成できます。 Microsoft Exchange フォルダーのフォルダー ID は、SDK を使用してマッピングの作成時点では検証できません。 ただし、マッピング ルールを作成した時点で、そのフォルダー ID が無効な場合、マッピングが無効であることが Dataverse の UI に表示されます。

フォルダー レベルの追跡のルールの結果、Dataverse 内に作成された、追跡対象の活動レコードに含まれる関連オブジェクトに手動で変更を加えた場合、この変更は、次回サーバー側同期が行われた際に上書きされます。 たとえば、Adventure Works フォルダーと Adventure Works 取引先企業との間にマッピングを設定した場合、Adventure WorksMicrosoft Exchange フォルダーにあるすべての電子メールは、Adventure Works 取引先企業レコードとの関連を保った状態で、Dataverse の活動として追跡されます。 他のレコードとのいくつかの活動の関連を変更した場合は、次にサーバー側同期が動作したときにその変更は自動的に上書きされます。

メールボックスのフォルダー レベルの追跡のルールの取得

RetrieveMailboxTrackingFoldersRequest メッセージを使用して、メールボックスのすべてのフォルダー レベルの追跡のルールを取得できます。 RetrieveMailboxTrackingFoldersRequest.MailboxId プロパティでルールを取得するメールボックス ID を渡し、メッセージを実行します。

次のサンプル コードは、メールボックスのフォルダー レベルの追跡のルールの取得方法を示しています。

// Retrieve the folder mapping rules for a mailbox  
RetrieveMailboxTrackingFoldersRequest req = new RetrieveMailboxTrackingFoldersRequest  
{  
    MailboxId = _mailboxId.ToString()  
};  

RetrieveMailboxTrackingFoldersResponse resp = (RetrieveMailboxTrackingFoldersResponse_serviceProxy.Execute(req);  
Console.WriteLine("Retrieved folder-level tracking rules for {0}:", _mailboxName);  
int n = 1;  
foreach (var folderMapping in resp.MailboxTrackingFolderMappings)  
{  
    Console.WriteLine("\tRule {0}: '{1}' is mapped to '{2}'.",   
        n, folderMapping.ExchangeFolderName, folderMapping.RegardingObjectName);  
    n++;  
}  

参照

RetrieveMailboxTrackingFolders Function
メールボックス自動追跡フォルダー (MailboxTrackingFolder) テーブル
Mailbox テーブル
フォルダー レベルの追跡の構成
サーバー側同期のテーブル

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。