.NET 追寻足迹

C# 之路

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

发送邮件代码如下:

Code

获取新邮件代码:

 

private void GetUnReadMailCount()
        {
            System.Net.HttpWebRequest Request;
            System.Net.WebResponse Response;
            System.Net.CredentialCache MyCredentialCache;
            
string strRootURI = "http://191.0.0.111/exchange/administrator";
            
string strUserName = "administrator";
            
string strPassword = "afineday";
            
string strDomain = "oa.lgyw";
            
string strQuery ="";
            
byte[] bytes = null;
            System.IO.Stream RequestStream 
= null;
            System.IO.Stream ResponseStream 
= null;
            XmlDocument ResponseXmlDoc 
= null;
            XmlNodeList HrefNodes
= null;
            XmlNodeList SizeNodes
= null;

            
try
            {
                
// Build the SQL query.
                strQuery = "<?xml version=\"1.0\"?><D:searchrequest xmlns:D = \"DAV:\" >"
                    
+ "<D:sql>SELECT \"DAV:displayname\",\"urn:schemas:httpmail:unreadcount\" FROM \"" + strRootURI + "\""
                    
//    +"where \"DAV:contentclass\"=\"urn:schemas:httpmail:read \""            
                    
//        + "WHERE \"DAV:ishidden\" = false AND \"DAV:isfolder\" = false"
                    + "</D:sql></D:searchrequest>";

                
// Create a new CredentialCache object and fill it with the network
                
// credentials required to access the server.
                MyCredentialCache = new System.Net.CredentialCache();
                MyCredentialCache.Add( 
new System.Uri(strRootURI),
                    
"NTLM",
                    
new System.Net.NetworkCredential(strUserName, strPassword, strDomain)
                    );

                
// Create the HttpWebRequest object.
                Request = (System.Net.HttpWebRequest)HttpWebRequest.Create(strRootURI);

                
// Add the network credentials to the request.
                Request.Credentials = MyCredentialCache;

                
// Specify the method.
                Request.Method = "SEARCH";

                
// Encode the body using UTF-8.
                bytes = Encoding.UTF8.GetBytes((string)strQuery);

                
// Set the content header length.  This must be
                
// done before writing data to the request stream.
                Request.ContentLength = bytes.Length;

                
// Get a reference to the request stream.
                RequestStream = Request.GetRequestStream();

                
// Write the SQL query to the request stream.
                RequestStream.Write(bytes, 0, bytes.Length);

                
// Close the Stream object to release the connection
                
// for further use.
                RequestStream.Close();

                
// Set the content type header.
                Request.ContentType = "text/xml";

                
// Send the SEARCH method request and get the
                
// response from the server.
                Response = (HttpWebResponse)Request.GetResponse();
        
                
// Get the XML response stream.
                ResponseStream = Response.GetResponseStream();
            
                
// Create the XmlDocument object from the XML response stream.
                ResponseXmlDoc = new XmlDocument();
                ResponseXmlDoc.Load(ResponseStream);
                HrefNodes 
= ResponseXmlDoc.GetElementsByTagName("a:displayname");
                SizeNodes 
= ResponseXmlDoc.GetElementsByTagName("d:unreadcount");
                
for(int i=0;i<HrefNodes.Count;i++)
                {
                    
if(HrefNodes[i].InnerText=="收件箱")
                        
this.LMail.Text="您有"+SizeNodes[i].InnerText+"封新邮件!";
                }
                ResponseStream.Close();
                Response.Close();
            }
            
catch(Exception)
            {
                
// Catch any exceptions. Any error codes from the SEARCH
                
// method request on the server will be caught here, also.
                this.LMail.Text="没有找到您的邮箱";
            }

            
        }
posted on 2008-09-25 09:50  绿水青山  阅读(1413)  评论(0编辑  收藏  举报