日期:2014-05-17  浏览次数:20457 次

在ASP.NET中 使用jmail提取KERIO邮件系统的邮件时 乱码
在ASP.NET中 使用jmail提取KERIO邮件系统的邮件时 乱码

据我了解,乱码原因是:KERIO邮件系统在发送邮件时,标题用的是UTF-8格式,而内容用的是 GB2312格式。
当我用jmail提取KERIO邮件时,展现的标题均为乱码,当然内容是正确的。
提取的邮件如果是其他邮件(比如:GMAIL),标题就不是乱码。

以下是邮件标题:
鍥炲: 鍐呯淇敼鎯呭喌

以下是邮件内容:
收到!

显示格式是 GB2312

如果转成UTF-8
结果就是:

回复: 内管修改情况 

????? 




跪求解决方案!
------最佳解决方案--------------------
string Subject = Encoding.UTF8.GetString(Encoding.GetEncoding("GB2312").GetBytes(mailMessage.Headers.GetHeader("Subject")))


------其他解决方案--------------------
没人帮忙吗? 自己顶起来
------其他解决方案--------------------
Set jmail = Server.CreateObject("JMAIL.Message") '建立发送邮件的对象
jmail.silent = true '屏蔽例外错误,返回FALSE跟TRUE两值j
jmail.logging = true '启用邮件日志
jmail.Charset = "GB2312" '邮件的文字编码为国标
jmail.ContentType = "text/html" '邮件的格式为HTML格式   
Jmail.Encoding="BASE64";

jmail.ISOEncodeHeaders = false '是否进行ISO编码,默认为True(加上了这一句)
jmail.AddRecipient email '邮件收件人的地址
jmail.From = "163@163.com" '发件人的E-MAIL地址
jmail.MailServerUserName = "163@163.com" '登录邮件服务器所需的用户名
jmail.MailServerPassword = "11111" '登录邮件服务器所需的密码

jmail.Subject = title '邮件的标题 
jmail.Body = content '邮件的内容
'jmail.Prority = 1 '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
jmail.Send("Smtp.163.com") '执行邮件发送(通过邮件服务器地址)
jmail.Close() '关闭对象




去掉这句试试: jmail.ContentType = "text/html"
------其他解决方案--------------------
message.BodyEncoding = System.Text.Encoding.Default;

这种编码格式
------其他解决方案--------------------
[size=24px]补充一下 : KERIO 是一款软件吧。。我们只能对其设置,不能修改他的代码![/size]
------其他解决方案--------------------
你应该判断邮件的来源,如果是 KERIO邮件系统的邮件

那就应该分别用不同的编码获取 标题 和正文


------其他解决方案--------------------
引用:
你应该判断邮件的来源,如果是 KERIO邮件系统的邮件

那就应该分别用不同的编码获取 标题 和正文


请问用JMAIL如何获取???
现在的提取方法是:jmail.POP3Class.Connect()方法
------其他解决方案--------------------
 jmail.Message mailMessage; 

   mailMessage.Charset = "GB2312"; 

   if(mailMessage.From 是 KERIO邮件系统的邮件)
   {
           Body = mailMessage.Body; 
           mailMessage.Charset = "UTF-8"; 
           Subject = mailMessage.Subject; 
    }
    else
    {

      }
 
------其他解决方案--------------------
还是不行。。。。。。。。。。。



------其他解决方案--------------------
现在是什么情况
------其他解决方案--------------------