2017-11-16 62 views
0

私は、当社の交換メールメッセージを追跡するアプリケーションを開発しています。 追跡ログから情報を得ることができる場所ではあるが、ログ - バイデザインでは、件名や本文メッセージはありません。 次のステップは、必要に応じてEWSを使用してメッセージの詳細を取得することでした。 質問が追跡ログに、我々はIDに見つけることです: "[email protected]in.com" の形式でEWS追跡ログメッセージIDまたはInternalMessageIDを使用してExchangeから電子メールメッセージを取得

のMessageId

5840818」の形式で InternalMessageIDは"

EWSではこのIDを使用してIDでメッセージを検索すると、常に「Id is malformed」というメッセージが表示されます。例外。ここ は、我々が使用するコードは次のとおりです。

public static EmailMessage GetEmailById(string uNameToImpersonate, string StringItemId) 
     { 
      return EmailMessage.Bind(GetService(uNameToImpersonate), new ItemId(StringItemId)); 
     } 

私はので、多分、私は本当に簡単な何かが欠けていEWSへの初心者です...あなたの助け

答えて

0

ため ありがとうございますが、メッセージのみに特異的に結合することができますEWSIdを使用すると、例えば、FindItem関数の演算を使用して、あなたがその特定のIDを持つメッセージを検索する必要がありますより詳細なdiscussion.For InternetIdためhttps://msdn.microsoft.com/en-us/library/office/dn605828(v=exchg.150).aspxを参照してください

ItemView ivew = new ItemView(1); 
    service.TraceEnabled = true; 
    ExtendedPropertyDefinition PidTagInternetMessageId = new ExtendedPropertyDefinition(4149, MapiPropertyType.String); 
    SearchFilter sf = new SearchFilter.IsEqualTo(PidTagInternetMessageId, "[email protected]in.com"); 
    FindItemsResults<Item> iCol = service.FindItems(WellKnownFolderName.Inbox, sf, ivew); 

    foreach (Item item in iCol.Items) 
    { 
    Console.WriteLine(item.Subject); 
    } 
+0

のようなものありがとうございました!それが私の問題を解決しました! –

関連する問題