ASP.NET
来源:互联网 发布:淘宝818开学季 商城 编辑:程序博客网 时间:2024/05/20 04:29
挺早之前整理的一套邮件信息查询功能。
后半部分贴入完整前后台代码。
首先需要添加引用OpenPop.NET类,版本为2.0.5:类库下载地址:http://download.csdn.net/download/xianglikai1/9950364
共分为两个页面:1.邮件列表页面,不包含邮件内容
2.选中的邮件的全部内容,由1页面传值来查询显示
页面一、邮件列表页面:
1.项目名称上右键添加引用:
2.使用Repeater来显示邮件列表,客户端页面:
3.重点,服务端
页面一、客户端代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="mail接收.aspx.cs" Inherits="测试_mail接收" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li>
<a href="Details.aspx?id=<%#Eval("NO") %>">
<%#Eval("Subject") %>
<%#Eval("Date") %>
<%#Eval("FromSender")%>(<%#Eval("FromAddress")%>)
</a>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using OpenPop.Pop3;
using OpenPop.Mime;
public partial class 测试_mail接收 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<MailItem> list = new List<MailItem>();
//实例化pop3访问对象
Pop3Client pop3 = new Pop3Client();
//连接到邮件服务器
pop3.Connect("pop.126.com", 110, false); //连接方法("连接服务器",端口号,是否使用安全)
//身份验证
pop3.Authenticate("xianglikai77@126.com", "邮箱密码");
//读邮件列表
//1、获取邮件的个数
int count = pop3.GetMessageCount();
//2、遍历显示出来
for (int i = 1; i <= count; i++)//i必须从1开始,邮件个数不能小于0
{
try
{
Message msg = pop3.GetMessage(i);
MailItem data = new MailItem();
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();
}
}
public class MailItem
{
public int NO { get; set; } //主键
public string FromSender { get; set; } //发送人
public string FromAddress { get; set; }//发送人邮箱地址
public DateTime Date { get; set; }//邮件发送的时间
public string Subject { get; set; }//标题
public string Body { get; set; }//邮件体
}
1.客户端制作页面:
2.后台查询绑定数据:
页面二、客户端代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Details.aspx.cs" Inherits="测试_Details" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
标题:<asp:Label ID="lblSubject" runat="server" Text=""></asp:Label><br />
发送者:<asp:Label ID="lblSender" runat="server" Text=""></asp:Label><br />
时间:<asp:Label ID="lblDate" runat="server" Text=""></asp:Label><br />
内容:<asp:Label ID="lblBody" runat="server" Text=""></asp:Label><br />
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using OpenPop.Pop3;
using OpenPop.Mime;
public partial class 测试_Details : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request["id"] != null)
{
//获取邮件代号
int no = Convert.ToInt32(Request["id"]);
//根据邮件代号查找邮件
Pop3Client pop3 = new Pop3Client();
//安全配置
pop3.Connect("pop.126.com",110,false);
//帐号密码设置
pop3.Authenticate("xianglikai77@126.com","邮箱密码");
Message msg = 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();
}
}
}
阅读全文
0 0
- asp.net
- ASP。NET
- ASp.net
- Asp.net
- ASP.NET
- asp.net
- asp.net
- asp.net
- asp.net
- ASP.NET
- Asp.Net
- asp.net
- asp.net
- asp.net
- ASP.NET
- ASP.NET
- asp.net
- ASP.NET
- Linux学习总结(七)
- ajax 和 php 和 javascript(html)
- 变量的默认初始化、struct结构体提醒
- Tomcat6项目移到Tomcat7 提示 404 解决方案
- 搜狐狐友将可能增加职场员工用户量
- ASP.NET
- 高可用之接入层
- 电子器件基础知识
- CodeForces
- hdu 3440 House Man
- MySQL安装与卸载
- 线程池的原理及实现
- hdu1950 poj1631 Bridging signals(n*logn的最长递增子序列)
- python文件相关