2017-11-16 2 views
0

Ich entwickle eine Anwendung, die Exchange-E-Mail-Nachrichten in unserem Unternehmen verfolgt. Wir konnten Informationen aus dem Verfolgungsprotokoll abrufen, aber im Protokoll - nach Entwurf - gibt es keine Betreff- oder Nachrichtentext. Der nächste Schritt für uns war die Verwendung von EWS, um bei Bedarf die Nachrichtendetails zu erhalten. Die Frage ist, dass wir in dem Verfolgungsprotokoll-IDs finden:Erhalten Sie E-Mail-Nachricht von Exchange mit EWS Tracking Log Message ID oder der InternalMessageID

Meldungs ​​ im Format "[email protected]in.com"

und

InternalMessageID im Format „5840818 "

Wenn wir in EWS diese ID verwenden, um die Nachricht nach ID zu finden, erhalten wir immer eine" ID ist falsch formatiert. " Ausnahme. Hier ist der Code, die wir verwenden:

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

ich ein Neuling auf EWS bin so vielleicht etwas einfach ... Danke für Ihre Hilfe kann ich vermisse

Antwort

0

Sie binden nur an eine Nachricht mit der EWSId https://msdn.microsoft.com/en-us/library/office/dn605828(v=exchg.150).aspx für eine detailliertere sehen discussion.For der InternetId Sie werden für Nachrichten mit diesem bestimmten Id suchen müssen den findItem Betrieb zB so etwas wie

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

Vielen Dank mit! Das hat mein Problem gelöst! –

Verwandte Themen