随笔- 50
文章- 0
评论- 97
阅读-
12万

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
海岸线
阅读(
234)
评论()
编辑
收藏
举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?