用jmail控件接收所有已收邮件,并用datagrid显示所有,点击某个邮件标题,显示其详细内容与附件。能用就截贴
解决方案 »
- 十万火急!!!ArcGIS出现问题,求解决方法。
- 深夜在线求解答~~~~~
- 跪求一个解决思想,高人务必出手相助!!!
- 【初学者求教】解释一下计算原理
- windows 7 C# 添加账户
- 为什么
- struct问题
- C#可否不通过调用Word、Excel的COM接口来实现Word、Excel文档内容的抓取?
- C# winform 局域网内如何远程调用web服务器上的access数据库 使用OpenRowSet函数
- VS2013旗舰版的新建项目类型中,安装和部署中没有安装向导类型了?
- c#中怎么实现打印功能,请帮忙解决.
- 如何实现只取数字和横线的函数呀! [2005-10-3 星期一 离L]如我只取出数字和横线]
如果是将内容放在数据库是很方便的啊!
就是传递值的问题
这样实现可行吗?是否有更好的办法.
然后构造相关的DataGrid的点击事件,传递相关邮件参数,调用辅助类去下载邮件
这个是比较清晰的思路~
/// 获得mail列表
/// </summary>
/// <param name="Username">用户帐户名</param>
/// <param name="Password">口令</param>
/// <param name="Server">接收服务器(POP3)</param>
/// <param name="Port">端口号</param>
/// <returns></returns>
private bool ReceiveMails(string Username, string Password, string Server, int Port)
{
DataTable t = new DataTable();
t.Columns.Add("MessageID");
t.Columns.Add("IsNew");
t.Columns.Add("Priority");
t.Columns.Add("Title");
t.Columns.Add("Sender");
t.Columns.Add("SenderDate");
t.Columns.Add("Size");
t.Columns.Add("Attach"); int unReadMail; //新邮件的数目 POP3Class p3 = new POP3Class(); try
{
p3.Connect(Username,Password,Server,Port);
}
catch
{
return false;
} unReadMail = p3.Count - p3.GetLastUnreadMessage();
this.MailCountLabel.Text = "您共有 " + p3.Count.ToString() + " 封邮件 | 其中有 " + unReadMail.ToString() + " 封新邮件"; for( int i = 1 ; i <= p3.Count ; i++ )
{
DataRow r = t.NewRow();
r[0] = i; if(unReadMail > 0)
{
r[1] = "新";
unReadMail--;
}
else
{
r[1] = "";
} if(p3.Messages[i].Priority == 1)
{
r[2] = "高";
unReadMail--;
}
else if(p3.Messages[i].Priority == 5)
{
r[2] = "低";
}
else
{
r[2] = "";
}
// r[2] = p3.Messages[i].Priority.ToString();
r[3] = p3.Messages[i].Subject;
r[4] = p3.Messages[i].FromName;
r[5] = p3.Messages[i].Date.ToString("yyyy年MM月dd日 HH:mm:ss");
r[6] = p3.Messages[i].Size.ToString(); if(p3.Messages[i].Attachments.Count > 0)
{
r[7] = "有";
}
else
{
r[7] = "";
} t.Rows.Add(r);
}
p3.Disconnect(); this.MailDataGrid.DataSource = t;
this.MailDataGrid.DataBind(); return true;
}
try
{
p3.Connect(Username,Password,Server,Port);
}
就过不去了,你可以正常运行吗?