将所有收件箱加载到asp.net gridview中 [英] Load all inbox into asp.net gridview
本文介绍了将所有收件箱加载到asp.net gridview中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你好,
我想将所有收件箱读取和未读邮件加载到我的网站gridview中。
我已经使用以下代码但它会显示一年的电子邮件
hello,
I want to load all inbox read and unread mail into my website gridview.
I already use the following code but it will display one year old emails
Pop3Client pop3Client;
if (Session["Pop3Client"] == null)
{
pop3Client = new Pop3Client();
pop3Client.Connect(txtMailServer.Text, int.Parse(txtPort.Text), chkSSL.Checked);
//pop3Client.Authenticate(txtEmail.Text, txtPassword.Text);
pop3Client.Authenticate(txtEmail.Text, txtPassword.Text, AuthenticationMethod.UsernameAndPassword);
Session["Pop3Client"] = pop3Client;
}
else
{
pop3Client = (Pop3Client)Session["Pop3Client"];
}
int count = pop3Client.GetMessageCount();
DataTable dtMessages = new DataTable();
dtMessages.Columns.Add("MessageNumber");
dtMessages.Columns.Add("From");
dtMessages.Columns.Add("Subject");
dtMessages.Columns.Add("DateSent");
int counter = 0;
for (int i = count; i >= 1; i--)
{
Message message = pop3Client.GetMessage(i);
dtMessages.Rows.Add();
dtMessages.Rows[dtMessages.Rows.Count - 1]["MessageNumber"] = i;
dtMessages.Rows[dtMessages.Rows.Count - 1]["From"] = message.Headers.From.Address;
dtMessages.Rows[dtMessages.Rows.Count - 1]["Subject"] = message.Headers.Subject;
dtMessages.Rows[dtMessages.Rows.Count - 1]["DateSent"] = message.Headers.DateSent.ToLocalTime();
counter++;
if (counter > 20)
{
break;
}
}
gvEmails.DataSource = dtMessages;
gvEmails.DataBind();
如果有人知道
please inform to me if any one know
推荐答案
请通知我在将消息加载到gridview之前,通过message.Headers.DateSent正确订购消息。
Order your messages correctly by message.Headers.DateSent before loading them into the gridview.
这篇关于将所有收件箱加载到asp.net gridview中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文