2009-07-24 5 views
0
  1. Je besoin de quelqu'un plus versé dans ce domaine pour re-titre la questionObtenir la ligne d'objet de l'e-mail en utilisant webDAV et .NET

  2. Je suis en train d'en savoir plus sur webDAV et .NET. J'ai écrit une application qui doit tirer tous les e-mails d'une boîte de réception sur le serveur. Je dois charger ces e-mails dans un objet qui a les propriétés suivantes:

 
- From 
- To 
- Subject 
- Body 

J'ai trouvé un poste très utile here. Mais je ne suis pas sûr de savoir comment manipuler le fichier XML pour correspondre à ce dont j'ai besoin. Plus précisément le code suivant:

  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); 
       } 
      } 

est-il comme une urn: schemas: httpmail: sujet ou quelque chose comme ça où je peux tirer la ligne de sujet sur? Je suis TRÈS TRÈS nouveau sur webDAV - et c'est ainsi que l'on m'a dit d'interagir avec le serveur Exchange, donc si quelqu'un peut faire la lumière sur comment modifier le code ci-dessus pour ajouter un nœud sujet et pourquoi - je suis sûr que je peut comprendre comment le modifier pour répondre à mes besoins.

Donc, juste pour être clair, ma question est la suivante:

Comment puis-je modifier l'extrait de code ci-dessus pour inclure également l'objet d'un e-mail retiré un serveur Exchange?

Répondre

0

voir here, essayez urn: schemas: httpmail: sujet il devrait fonctionner

Questions connexes