本人使用Jmail4.4收邮件,现在发现收的邮件邮件内容有部分是乱码,本人是将邮件以.eml格式写到本地硬盘保存的,用的时候再去读,由于本人是在外贸公司上班,所以公司的邮件会有很多国家发来的,比如日本,美国,西班牙,法国这些等。现在发现收到的日文的邮件邮件内容有部分乱码不知怎么解决?望高手指教,下面贴出部分代码,收字符个数的限制
  public void TaskProc1(Object stateInfo)
        {
            EmailServer emailServer = stateInfo as EmailServer;
            jmail.POP3 jpop = new jmail.POP3();
            jmail.Message Msg = new jmail.Message();
            Mail mail = new Mail();
            try
            {
                if (emailServer.Pop3EmailAccount.ToString() != "" && emailServer.Pop3EmaillPwd.ToString() != "")
                {
                    //解密邮箱密码
                    string Pwd = DESDecrypt(emailServer.Pop3EmaillPwd, EncryptKey);
                    //连接POP服务器
                    jpop.Connect(emailServer.Pop3EmailAccount.ToString(), Pwd, emailServer.Pop3Address.ToString(), Int32.Parse(emailServer.Pop3Port.ToString()));
                    //如果服务器上有邮件
                    if (jpop.Count >= 1)
                    {
                        for (int i = 1; i <= jpop.Count; i++)
                        {
                            //取得服务器上邮件的唯一标识ID,判断该邮件是否已经接收,如果本地有这个ID,则认为是已收,则不再下载该邮件,如果本地没有该邮件ID,则下载该邮件
                            mail.EmailID = jpop.GetMessageUID(i);
                            IList<string> l = MailManager.GetMailByAddressee(emailServer.EmailName);
                            if (l != null)
                            {
                                if (!l.Contains(mail.EmailID))
                                {
                                    Msg = jpop.Messages[i];
                                    //将这封新邮件的信息保存到数据库++++
                                    if (Msg != null)
                                    {
                                        ///设置邮件的编码方式                          
                                        Msg.Charset = "GB2312";
                                        Msg.ContentTransferEncoding = "base64";
                                        ///设置邮件的附件编码方式
                                        Msg.Encoding = "base64";
                                        Msg.ContentType = "text/html";
                                        ///是否将信头编码成iso-8859-1字符集
                                        Msg.ISOEncodeHeaders = false;
                                        mail.MailBoxID = emailServer.ID;
                                        mail.Addressee = emailServer.EmailName;
                                        mail.SentTime = Msg.Date.ToString();
                                        Mail m = new Mail();
                                        m = MailManager.AddMail(mail);
                                        if (m != null)
                                        {
                                            ///创建根目录文件夹
                                            string MailDB = "E:\\" + "MailDB" + "\\";
                                            if (!Directory.Exists(MailDB))
                                            {
                                                Directory.CreateDirectory(MailDB);
                                                if (!Directory.Exists(MailDB))
                                                    return; //如果创建失败则返回
                                            }
                                            ///创建所属邮箱文件夹
                                            string EmailName = MailDB + emailServer.Pop3EmailAccount.ToString() + "\\";
                                            if (!Directory.Exists(EmailName))
                                            {
                                                Directory.CreateDirectory(EmailName);
                                                if (!Directory.Exists(EmailName))
                                                    return; //如果创建失败则返回
                                            }
                                            ///创建收邮件文件夹
                                            string IncomingMail = EmailName + "IncomingMail" + "\\";
                                            if (!Directory.Exists(IncomingMail))
                                            {
                                                Directory.CreateDirectory(IncomingMail);
                                                if (!Directory.Exists(IncomingMail))
                                                    return; //如果创建失败则返回
                                            }
                                            ///创建年文件夹
                                            string Year = IncomingMail + System.DateTime.Now.ToString("yyyy");
                                            if (!Directory.Exists(Year))
                                            {
                                                Directory.CreateDirectory(Year);
                                                if (!Directory.Exists(Year))
                                                    return; //如果创建失败则返回
                                            }
                                            ///创建月文件夹
                                            string Month = Year + "\\" + System.DateTime.Now.ToString("MM");
                                            if (!Directory.Exists(Month))
                                            {
                                                Directory.CreateDirectory(Month);
                                                if (!Directory.Exists(Month))
                                                    return; //如果创建失败则返回
                                            }
                                            ///创建日文件夹
                                            string Day = Month + "\\" + System.DateTime.Now.ToString("dd") + "\\";
                                            if (!Directory.Exists(Day))
                                            {
                                                Directory.CreateDirectory(Day);
                                                if (!Directory.Exists(Day))
                                                    return; //如果创建失败则返回
                                            }
                                            //System.Text.Encoding.Default
                                            string Path = Day + m.ID + ".eml";
                                            using (StreamWriter sr = new StreamWriter(Path, false, Encoding.GetEncoding("GB2312")))
                                            {
                                                sr.WriteLine(Msg.Text);
                                            }
                                            Msg.Clear();
                                            Msg.Close();
                                            if (!MailManager.UpdateMessageContentUrlByID(m.ID, Path))
                                            {
                                                return;
                                            }                                            jpop.Messages[i].Close();
                                            jpop.Messages[i].Clear();
                                            CDO.Message message = new CDO.Message();
                                            message = EmailBody(Path);
                                            mail = new Mail();
                                            mail.Theme = message.Subject;
                                            mail.From = message.From;
                                            mail.ID = m.ID;
                                            if (!MailManager.UpdateEmailByID(mail))
                                            {
                                                return;
                                            }
                                        }
                                    }
                                }
这就是代码了,这里是将收到的邮件以.eml格式保存在本地硬盘,需要用的时候在通过方法去读取,保存在本地的邮件用OutLook打开也有部分乱码不知怎么解决,望高手指教