jmail邮件发送问题
当ContentType = "text/html"时,发送的邮件有附件就会出现乱码
各位大侠帮帮忙!

解决方案 »

  1.   

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Web.Mail;
    using System.Web.Util;
    using myJmail;
    using Tool;
    using Manager;
    using Entity;
    public partial class UserControls_Jmaill : System.Web.UI.UserControl
    {
        string strCurrentPath = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString();
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        protected void btnSend_Click(object sender, EventArgs e)
        {
            try
            {
                this.lblTitle.Text = "发送邮件控件";
      
                myJmail.Message Jmail = new myJmail.Message();
                DateTime t = DateTime.Now;
                String Subject = this.txtTitle.Text;
                String body = this.txtContent.Text;
                string FromEmail = this.txtFormEmail.Text.Trim();//你的email
                String ToEmail = this.txtToEmail.Text;//对方的email
                String AddAttachment = this.FileUploadSubject.PostedFile.FileName;
                //Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false
                Jmail.Silent = true;
                //Jmail创建的日志,前提loging属性设置为true
                Jmail.Logging = true;
                //字符集,缺省为"US-ASCII"
                Jmail.Charset = "GB2312";
                //信件的contentype. 缺省是"text/plain") : 字符串如果你以HTML格式发送邮件, 改为"text/html"即可。
              //  Jmail.ContentType = "text/html";
                ToEmail = ToEmail.Replace("\n", "").Replace(" ", "");
                string[] str = ToEmail.Split(',');
                for (int i = 0; i < str.Length; i++)
                {
                    //添加收件人
                    Jmail.AddRecipient(str[i], "", "");
                    
                    Jmail.From = FromEmail;
                    //发件人邮件用户名
                    Jmail.MailServerUserName = FromEmail;
                    //发件人邮件密码
                    Jmail.MailServerPassWord = "";//FromEmail邮箱的登陆密码
                    //设置邮件标题
                    Jmail.Subject = Subject;
                    //邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment( "c:\\test.jpg",true,null);)就可以搞定了。[注]:加了附件,讲把上面的Jmail.ContentType="text/html";删掉。否则会在邮件里出现乱码。
                    Jmail.AddAttachment(AddAttachment, true, null);
                    //邮件内容
                    Jmail.Body = body + t.ToString();
                    //加密文件
                    //Jmail.PGPEncrypt = true;
                    //Jmail发送的方法
                    Jmail.Send("smtp.163.com", false);
                    Jmail.ClearAttachments();
                    Jmail.ClearRecipients();
                }
                Jmail.Close();
            }
            catch (Exception ex)
            {
                this.lblMessage.Text = ex.Message;
            }
        }
     
    }
      

  2.   

    [注]:加了附件,讲把上面的Jmail.ContentType="text/html";删掉。否则会在邮件里出现乱码。 
    ------------------------------
    现在就是在加了附件的同时也要使用Jmail.ContentType="text/html"
    怎样解决????
      

  3.   

    晕,一定要用Jmail.ContentType="text/html" 吗?这个我就不清楚了