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