public void Remail()
{
string f="";
int n=int.Parse(TextBox1.Text.Trim());
jmail.Message Msg=new jmail.Message();
jmail.POP3 jpop=new jmail.POP3();
try
{
jpop.Connect("ssq","8223398","www.hbenshi.gov.cn",110);
Count.Text=jpop.Count.ToString();
Msg = jpop.Messages[n];
Sendform.Text = Msg.FromName;
Subject.Text = Msg.Subject;
Datetime.Text = Msg.Date.ToString();
Body.Text = Msg.Body;
num.Text=Msg.Attachments.Count.ToString();
for(int i=0;i<Msg.Attachments.Count;i++)
{
f=f+Msg.Attachments[i].Name;//.SaveToFile("c:\\"+Msg.Attachments[n].Name);
}
name.Text=f;
jpop.Disconnect();
}
catch(Exception ex)
{
Count.Text=ex.Message.ToString();
} }

解决方案 »

  1.   

    to: imfine()这样写好像是不行的吧,如果按照你这样写的话,每次检查是否有新邮件的时候都要把服务器上的所有邮件down一遍?foxmail和outlook在查收新邮件的时候只是很快的将服务器上的一些信息和本地数据进行比较,判断是新邮件后再下载。我现在是知道过程,但不知道怎么具体实现,还望哪位高人指点一二,谢~~~~~~
      

  2.   

    把服务器上的邮件down下来后,就把服务器上的删掉
    现在有些邮件服务器不支持读取新邮件的操作,如果只是要读取新邮件的话,通用性不好
      

  3.   

    我并不是想用服务器的那个属性,我只是想通过一些操作获得服务器上邮件的一些信息(并不是单个邮件包含的所有信息),如头信息,来和本地数据库中的信息进行比较,这也是为什么我一开始在代码中先写DownloadSingleHeader然后再是DownloadSingleMessage的原因。
      

  4.   

    感觉你可以使用Jmail的判断邮件是否读取的标志。
    你可以参见http://www.duplo.se/
    选择jmail的manuals,你可以下载关于jmail的中文帮助。
      

  5.   

    你可以试试 imfine的方法,我们以前用的也是先下载,在对比,删除不需要的!