------------------jmail4.4  邮件接收问题----------------------------------代码如下---------------------
    /// <summary>
    /// 读取邮件
    /// </summary>
    /// <param name="mailuser">邮箱用户名</param>
    /// <param name="password">邮箱密码</param>
    /// <param name="pop3">服务器</param>
    /// <param name="port">端口</param>
    private List<Model.MailList> ReadMail(string mailuser, string password, string pop3, int port)
    {
        List<Model.MailList> listMail = new List<Model.MailList>();
        Model.MailList maillist = null;        //建立接收邮件对象
        jmail.POP3Class mail = new POP3Class();        //建立邮件信息对象
        jmail.Message mailMessage = null;
        
        //建立邮件附件对象
        jmail.Attachment att = null;        //建立邮件附件集对象
        jmail.Attachments atts = null;        Hashtable hs = new Hashtable();               //连接服务器
        try
        {
            mail.Connect(mailuser, password, pop3, port);
        }
        catch (Exception ex)
        {
            Page.RegisterStartupScript("Open", "<script>alert('" + ex.Message + "')</script>");
        }        try
        {
            if (mail.Count > 0)
            {               
                this.lbMailCount.Text = "共有" + mail.Count + "封邮件";
                for (int i = 1; i <= mail.Count; i++)
                {
                    mailMessage = mail.Messages[i];
                    maillist = new Model.MailList();                                        maillist.Body = mailMessage.HTMLBody;
                    maillist.Categoryid = 0;
                    atts = mailMessage.Attachments;                    
                    maillist.Size = mailMessage.Size;
                    maillist.Sendtime =mailMessage.Date; //这个时间是定时发送的时间
                    maillist.Title = mailMessage.Subject;
                    maillist.Sender = mailMessage.FromName;
                    maillist.Sendmail = mailMessage.From;
                    maillist.Userid = ((User)Session["user"]).Userid;                    
                    maillist.Id = GetGuid();
                    maillist.Msgid = mailMessage.GetHashCode();               
                    //maillist.Header = "";
                    
                    maillist.Clientid = 0;
                    maillist.Mailid = MailAccountBll.GetMailId(ddlMailList.SelectedValue);
                    listMail.Add(maillist);
                    hs.Add(maillist.Msgid, atts);
                   // dAtts.Add(maillist.Msgid, atts);
                }                Session["listMail"] = listMail;
                Session["hs"] = hs;
            }
        }
        catch (Exception ex)
        {
            Page.RegisterStartupScript("Open", "<script>alert('" + ex.Message + "')</script>");
        }        //断开POP3连接
      mail.Disconnect();        Session["listMail"] = listMail;
        return listMail;
    }---------------------------代码结束---------------------------
----------------------需要解决的问题-------------------------1.我要将服务器上的邮件插入到数据库中,现要获取邮件的唯一标识符来判断此邮件是否插入过
2.jmail4.4如何获取邮件的发送时间  
  maillist.Sendtime =mailMessage.Date; //这个时间是定时发送的时间
  这行代码只能获取定时发送时间在线等待高人指点

解决方案 »

  1.   

    获取邮件时间
    private NetworkStream ns;ns获取邮件内容StreamReader sr = new StreamReader(ns);
                //置入arrayList
                ArrayList msglines = new ArrayList();string line = sr.ReadLine();do
                {
     line = sr.ReadLine();
                    msglines.Add(line);
    } while (line != ".");
    //获取邮件时间
            private string GetMailDate(ArrayList msglines)
            {
                string[] tokens;
                IEnumerator msgenum = msglines.GetEnumerator();
                while (msgenum.MoveNext())
                {
                    string line = (string)msgenum.Current;
                    if (line.ToUpper().StartsWith("DATE:"))
                    {
                        tokens = line.Split(':');
                        string _Date = string.Empty;
                        for (int i = 1; i < tokens.Length; i++)
                        {
                            _Date += tokens[i];
                        }
                        return _Date;
                    }
                }
                return "None";
            }
      

  2.   

    每封邮件好像有个唯一标识符msgid,但不知道怎样获取啊  
      

  3.   

    去查下jmail的帮助文档吧。很多牛人很牛,但是他们没用过这个东西,所以也说不出什么东东来。