![]()
Code
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Drawing;
![]()
public partial class _Default : System.Web.UI.Page 
![]()
![]()
{
    protected void Page_Load(object sender, EventArgs e)
![]()
    
{
        int newmail = 0;
        newmail = GetNumberOfNewMessages();
        if (newmail > 0)
![]()
        
{
            Label1.Text = "您有" + newmail.ToString() + "封邮件!";
            Label1.ForeColor = System.Drawing.Color.Red;//将Label的字体变为红色。
![]()
        }
        else
![]()
        
{
            Label1.Text = "您没有邮件!";
            Label1.ForeColor = System.Drawing.Color.Black;
![]()
![]()
        }
![]()
![]()
    }
    private NetworkStream Connect(string strServer, string strUser, string strPwd)//建立和邮件服务器的连接
![]()
    
{
![]()
        TcpClient Sender = new TcpClient(strServer, 110);//建立在POP3服务默定的110端口
        byte[] OutBytes;
        string input;
        NetworkStream Ns = null;
![]()
        try
![]()
        
{
            Ns = Sender.GetStream();
            StreamReader sr = new StreamReader(Ns);
            input = "user " + strUser + "\r\n";//
            OutBytes = System.Text.Encoding.ASCII.GetBytes(input);
            Ns.Write(OutBytes, 0, OutBytes.Length);
            Console.WriteLine(sr.ReadLine());
            input = "pass " + strPwd + "\r\n";//
            OutBytes = System.Text.Encoding.ASCII.GetBytes(input);
            Ns.Write(OutBytes, 0, OutBytes.Length);
            Console.WriteLine(sr.ReadLine());
            Console.WriteLine("==========");
![]()
        }
![]()
        catch (Exception e)
![]()
        
{
            Label1.Text = e.ToString();
        }
        return Ns;
![]()
    }
![]()
    private Int32 GetNumberOfNewMessages()//检测新邮件并返回新邮件数量
![]()
    
{
        byte[] OutBytes;
        string input;
        Int32 mailcount = -1;
        try
![]()
        
{
            NetworkStream Ns = Connect("pop3.163.com", "用户名", "密码");
            if (!(Ns == null))
![]()
            
{
                StreamReader sr = new StreamReader(Ns);
                input = "stat" + "\r\n";
                OutBytes = System.Text.Encoding.ASCII.GetBytes(input);
                Ns.Write(OutBytes, 0, OutBytes.Length);
                string resp = sr.ReadLine();
                Console.WriteLine(resp);
                string[] tokens = resp.Split(' ');
                input = "quit" + "\r\n";
                OutBytes = System.Text.Encoding.ASCII.GetBytes(input);
                Ns.Write(OutBytes, 0, OutBytes.Length);
                Console.WriteLine(sr.ReadLine());
                sr.Close();
                Ns.Close();
                mailcount = Int32.Parse(tokens[1].ToString());
![]()
            }
        }
        catch (Exception e)
![]()
        
{
            Console.WriteLine(e.ToString());
        }
        return mailcount;
![]()
    }
![]()
![]()
}
![]()
 
 
	posted on 
2009-10-30 16:37 
海岸线 
阅读(
242) 
评论() 
 
收藏 
举报
 
 
 
			 
		 
	 
	
	
	
		
	
 
    
        View Code