如题,
使用Jmail专业版的组件,发信,收信一切正常,添加了附件后,其他信息都可以收到,但邮件正文就不能收到,请指点!
代码如下:
------------------
private void ReciveByJmail()
        {
             String sFrom;
             String sTo;
             String sSubject;
             String sContent;
             String sTemp;
             int intMailSize;            jmail.POP3Class popMail = new jmail.POP3Class();
            jmail.Message mailMessage;
            jmail.Attachments atts;
            jmail.Attachment att;
            popMail.Connect(txtPuser.Text, txtPpass.Text, txtPop3.Text,110);
          
            if (0 < popMail.Count)
            {
              
                for (int i = 1; i <= popMail.Count; i++)
                {
                  
                    mailMessage = popMail.Messages[i];
                    atts = mailMessage.Attachments;                 
                    mailMessage.Charset = "GB2312";                
                    mailMessage.Encoding = "Base64";                      
                    mailMessage.ISOEncodeHeaders = false;              
                    sFrom = mailMessage.From;                 
                    sSubject = mailMessage.Subject;              
                    sContent = mailMessage.HTMLBody;         
                    intMailSize = Convert.ToInt32(mailMessage.Size);
                    sTemp = "";
                    try
                    {
                        if (mailMessage.Attachments[0].Name != null)
                        {
                            sTemp = "[此邮件含有一个名为" + mailMessage.Attachments[0].Name+"的附件]";
                            mailMessage.Attachments[0].SaveToFile(Application.StartupPath+"\\" + mailMessage.Attachments[0].Name);
                        }
                    }catch(Exception em) 
                    {}
                    att = null;
                    atts = null;
                    this.txtRecive.Text = this.txtRecive.Text + "\r\n第" + i + "封邮件:" + sTemp + "\r\n发信人:" + sFrom + "\r\n" + "主 题:" + sSubject + "\r\n" + "内 容:" + "\r\n" + sContent;
                }
                this.txtRecive.Text =   "共 " + popMail.Count + " 封邮件\r\n-------------------------------\r\n"+this.txtRecive.Text;
            }
            else
            {
                MessageBox.Show("没有新邮件!");
            }
            popMail.DeleteMessages();
            popMail.Disconnect();
            popMail = null;
        }

解决方案 »

  1.   

    先谢过:diandian82(点点)再继续顶~
      

  2.   

    没搞过,不过jmail是可以做到收发信的
      

  3.   

    如果要带附件
    去掉sContent = mailMessage.HTMLBody;
    否则乱码
      

  4.   

    先谢谢大家的回复:DataService(正在升级......) 
    去掉sContent = mailMessage.HTMLBody;
    否则乱码
    ------------------------------------
    RE:如果去掉了这一项,邮件内容从哪读呢?根据我查阅相关资料,在发信时去掉.ContentType = "text/html";这个属性能去除带附件邮件乱问题,我就是这样做的,但就是没法显示正文
      

  5.   

    以前这样写的:
       jmail.Message  Jmail=new jmail.Message();   DateTime t=DateTime.Now;   
       String Subject=" Testing JMail";   
       String FromEmail="*****@sohu.com";   
       String ToEmail="[email protected]";
       Jmail.Silent=true;
       Jmail.Logging=true;
       Jmail.Charset="GB2312";
       Jmail.ContentType="text/html";
       Jmail.AddRecipient(ToEmail,"","");
       Jmail.From=FromEmail;
       Jmail.MailServerUserName="****" ;
       Jmail.MailServerPassWord="****" ;
       Jmail.Subject=Subject;
       //多附件的话,可以多加Jmail.AddAttachment
       Jmail.AddAttachment( "c:\\test.jpg",true,null);
       Jmail.Body=body+t.ToString();
       Jmail.Send("smtp.163.com",false);
       Jmail.Close() ;
      
      

  6.   

    RE:
    jedliu(21世纪什么最贵? 人才!)我就是按你这个方法发的,只不过做了个判断,没有附件时就加上Jmail.ContentType="text/html";
    有就不加,不然有乱码
      

  7.   

    自己解决了。。
    -------------
    取内容时,
    无附件时使用:
    sContent = mailMessage.HTMLBody;
    有附件时使用:
    sContent = mailMessage.Body;
    --------------
    揭贴!