2009-07-24 3 views
0
  1. Ich brauche jemanden mehr gut auf diesem Gebiet bewandert erneut Titel die FrageErste Betreffzeile der E-Mail mit webDAV und .NET

  2. Ich versuche, mehr über webDAV und .NET zu lernen. Ich habe eine App geschrieben, die alle E-Mails aus einem Posteingang auf dem Server abrufen muss. Ich brauche diese E-Mails in ein Objekt zu laden, die die folgenden Eigenschaften haben:

 
- From 
- To 
- Subject 
- Body 

ich einen sehr hilfreichen Beitrag here gefunden. Aber ich bin mir nicht ganz sicher, wie ich die XML-Datei manipuliere, um sie an meine Bedürfnisse anzupassen. Insbesondere die folgenden Code:

  XmlDocument document = new XmlDocument(); 
      document.Load(responseStream); 

      // set up namespaces 
      XmlNamespaceManager nsmgr = new XmlNamespaceManager(document.NameTable); 
      nsmgr.AddNamespace("a", "DAV:"); 
      nsmgr.AddNamespace("b", "urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/"); 
      nsmgr.AddNamespace("c", "xml:"); 
      nsmgr.AddNamespace("d", "urn:schemas:mailheader:"); 
      nsmgr.AddNamespace("e", "urn:schemas:httpmail:"); 

      // Load each response (each mail item) into an object 
      XmlNodeList responseNodes = document.GetElementsByTagName("a:response"); 
      foreach (XmlNode responseNode in responseNodes) 
      { 
       // get the <propstat> node that contains valid HTTP responses 
       XmlNode uriNode = responseNode.SelectSingleNode("child::a:href", nsmgr); 
       XmlNode propstatNode = responseNode.SelectSingleNode("descendant::a:propstat[a:status='HTTP/1.1 200 OK']", nsmgr); 
       if (propstatNode != null) 
       { 
        // read properties of this response, and load into a data object 
        XmlNode fromNode = propstatNode.SelectSingleNode("descendant::d:from", nsmgr); 
        XmlNode descNode = propstatNode.SelectSingleNode("descendant::e:textdescription", nsmgr); 

        // make new data object 
        model.Mail mail = new model.Mail(); 
        if (uriNode != null) 
         mail.Uri = uriNode.InnerText; 
        if (fromNode != null) 
         mail.From = fromNode.InnerText; 
        if (descNode != null) 
         mail.Body = descNode.InnerText; 
        unreadMail.Add(mail); 
       } 
      } 

Gibt es wie eine urn: schemas: httpmail: subject oder so etwas, wo kann ich die Betreffzeile herausziehen? Ich bin SEHR SEHR neu bei webDAV - und das ist die Art und Weise, wie mir gesagt wurde, mit dem Exchange-Server zu interagieren, also wenn jemand Licht darüber werfen kann, wie man den obigen Code ändert, um einen Subjektknoten hinzuzufügen und WARUM - ich bin mir sicher kann herausfinden, wie ich es weiter modifizieren kann, um meine Bedürfnisse zu erfüllen.

Also einfach klar zu sein, meine Frage ist:

Wie kann ich den oben genannten Code-Schnipsel ändern, umfassen auch die Betreffzeile einer E-Mail gezogen einen Exchange-Server ab?

Antwort

0

sehen here, versuchen urn: schemas: httpmail: subject sollte es

arbeiten