1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > ASP.NET - 查询邮件及邮件内容

ASP.NET - 查询邮件及邮件内容

时间:2023-09-17 17:35:06

相关推荐

ASP.NET - 查询邮件及邮件内容

挺早之前整理的一套邮件信息查询功能。

后半部分贴入完整前后台代码。

首先需要添加引用类,版本为2.0.5:

类库下载地址:/download/xianglikai1/9950364

共分为两个页面:1.邮件列表页面,不包含邮件内容

2.选中的邮件的全部内容,由1页面传值来查询显示

页面一、邮件列表页面:

1.项目名称上右键添加引用:

2.使用Repeater来显示邮件列表,客户端页面:

3.重点,服务端

页面一、客户端代码:<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="mail接收.aspx.cs"Inherits="测试_mail接收"%> <!DOCTYPEhtml> <htmlxmlns="/1999/xhtml"> <headrunat="server"> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/> <title></title> </head> <body> <formid="form1"runat="server"> <asp:RepeaterID="Repeater1"runat="server"> <HeaderTemplate> <ul> </HeaderTemplate> <ItemTemplate> <li> <ahref="Details.aspx?id=<%#Eval("NO")%>"> <%#Eval("Subject")%> <%#Eval("Date")%> <%#Eval("FromSender")%>(<%#Eval("FromAddress")%>) </a> </li> </ItemTemplate> <FooterTemplate> </ul> </FooterTemplate> </asp:Repeater> </form> </body> </html>页面一:服务端代码:

usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Web; usingSystem.Web.UI; usingSystem.Web.UI.WebControls; usingOpenPop.Pop3; usingOpenPop.Mime; publicpartialclass测试_mail接收:System.Web.UI.Page {protectedvoidPage_Load(objectsender,EventArgse) {List<MailItem>list=newList<MailItem>(); //实例化pop3访问对象 Pop3Clientpop3=newPop3Client(); //连接到邮件服务器 pop3.Connect("",110,false);//连接方法("连接服务器",端口号,是否使用安全) //身份验证 pop3.Authenticate("xianglikai77@","邮箱密码"); //读邮件列表 //1、获取邮件的个数 intcount=pop3.GetMessageCount(); //2、遍历显示出来 for(inti=1;i<=count;i++)//i必须从1开始,邮件个数不能小于0 {try {Messagemsg=pop3.GetMessage(i); MailItemdata=newMailItem(); data.NO=i; data.FromAddress=msg.Headers.From.Address;//发送者的邮箱地址 data.FromSender=msg.Headers.From.DisplayName;//发送者的名字 data.Date=msg.Headers.DateSent;//邮件的发送时间 data.Subject=msg.Headers.Subject;//邮件的标题/主题 if(msg.MessagePart.Body!=null) {data.Body=msg.MessagePart.GetBodyAsText();//文件的主体部分,注意!!! } //注意:要使用GetBodyAsText方法,来获得解析后的主体文件,如果直接使用Body属性,则返回二进制string数组 list.Add(data); } catch {continue; } } //断开连接 pop3.Disconnect(); //绑定显示 Repeater1.DataSource=list; Repeater1.DataBind(); } } publicclassMailItem {publicintNO{get;set;}//主键 publicstringFromSender{get;set;}//发送人 publicstringFromAddress{get;set;}//发送人邮箱地址 publicDateTimeDate{get;set;}//邮件发送的时间 publicstringSubject{get;set;}//标题 publicstringBody{get;set;}//邮件体 }

页面二、查看详细邮件页面:

1.客户端制作页面:

2.后台查询绑定数据:

页面二、客户端代码:

<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Details.aspx.cs"Inherits="测试_Details"%> <!DOCTYPEhtml> <htmlxmlns="/1999/xhtml"> <headrunat="server"> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/> <title></title> </head> <body> <formid="form1"runat="server"> <div> 标题:<asp:LabelID="lblSubject"runat="server"Text=""></asp:Label><br/> 发送者:<asp:LabelID="lblSender"runat="server"Text=""></asp:Label><br/> 时间:<asp:LabelID="lblDate"runat="server"Text=""></asp:Label><br/> 内容:<asp:LabelID="lblBody"runat="server"Text=""></asp:Label><br/> </div> </form> </body> </html>页面二、服务端代码:

usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Web; usingSystem.Web.UI; usingSystem.Web.UI.WebControls; usingOpenPop.Pop3; usingOpenPop.Mime; publicpartialclass测试_Details:System.Web.UI.Page {protectedvoidPage_Load(objectsender,EventArgse) {if(Request["id"]!=null) {//获取邮件代号 intno=Convert.ToInt32(Request["id"]); //根据邮件代号查找邮件 Pop3Clientpop3=newPop3Client(); //安全配置 pop3.Connect("",110,false); //帐号密码设置 pop3.Authenticate("xianglikai77@","邮箱密码"); Messagemsg=pop3.GetMessage(no); //显示,数据绑定至四个label中 lblSubject.Text=msg.Headers.Subject; lblSender.Text=msg.Headers.From.DisplayName+msg.Headers.From.Address; lblDate.Text=msg.Headers.DateSent.ToString(); if(msg.MessagePart.Body!=null)//126邮箱部分邮件报错,获取不到邮件正文,过滤掉 {lblBody.Text=msg.MessagePart.GetBodyAsText(); } //断开连接 pop3.Disconnect(); } } }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
ASP.NET发送邮件|

ASP.NET发送邮件|

2024-05-19

asp.net 邮件功能

asp.net 邮件功能

2024-05-09

Asp.net 邮件传输

Asp.net 邮件传输

2021-12-28

ASP.NET--邮件发送

ASP.NET--邮件发送

2022-11-22