解决jmail接收邮件标题乱码(ASP.NET)

问题描述

楼主发表于:2010-07-2017:32:20用jmail接收网络邮件时,经常会出现标题成乱码。无论如何设置页面默认编码方式都不管用。下面是我的解决方法,希望对大家有用。Msg.Subject获取标题错误。使用Msg.Headers.GetHeader("Subject")获取标题,的出来的字符串为Base64编码。举例:Msg.Headers.GetHeader("Subject")得出:=?utf-8?B?5L2g5Lus5aW95ZWK77yM6IO95pi+56S65ZCX77yf?=。一共有4个“?”号,作为分隔符第一段:utf-8第二段:B第三段:5L2g5Lus5aW95ZWK77yM6IO95pi+56S65ZCX77yf第四段:=其中第三段就是标题的内容经过Base64编码后的显示。解决代码如下(C#):下面info是我程序中的实体类;try{stringstr=Msg.Headers.GetHeader("Subject");string[]strss=str.Split('?');byte[]bytystr=Convert.FromBase64String(strss[3]);stringstrlast=Encoding.Default.GetString(bytystr);info.Title=strlast;}catch{info.Title="无主题";}之所以用try,cath,因为有些网络系统上发送的邮件,如CSDN用户密码忘记后,发送密码到注册邮箱的标题,超出Base64编码范畴,会出错,用catch避免出错。有时间的同行可以尝试解决下这个问题。以上代码除了极少超出ASCII范围的编码都可以正常显示。

解决方案

解决方案二:
不行啊

时间: 2024-09-11 18:21:01

解决jmail接收邮件标题乱码(ASP.NET)的相关文章

请教:怎么解决Jmail收邮件时,中文名称的附件名称是乱码的问题

问题描述 我在用Jmail4.4pro收邮件时,如果收到的邮件是UTF8编码,会出现中文的标题.中文的附件名称都是乱码的问题.但正文.附件内容都正常.对于标题乱码,暂时找到了解决办法,不要直接用JMail.Message.Subject,而是取JMail.Message.Headers.GetHeader("Subject"),然后再解码.但对于附件名称,则没有办法处理.只能JMail.Attatchment.Name得到附件名称,但那已经是乱码,类似于"娴?璇?docx&q

PHP发送UTF-8编码中文邮件标题乱码的解决

当我们使用下面的PHP语句发送中文电子邮件的时候,会发现邮件的标题是乱码,而邮件正文却是正确的,如何才能使得邮件标题不是乱码呢? $subject = stripslashes($the_post[''Title'']); $headers = "MIME-Version: 1.0rn"; $headers .= "Content-type: text/plain; charset=utf-8rn"; $headers .= "Content-Transf

JMAIL接收邮件内容问题,马上给分在线等

问题描述 我现在接收的话标题附件什么的都ok了现在一个奇怪的问题,比如我是sina邮箱发给sina邮箱,mailMessage.Subject的值就是"-"但是我其他比如163hotmail发给我sina的邮箱,mailMessage.Subject能正常现实///设置邮件的编码方式mailMessage.Charset="utf-8";(或者gb2312都试验过了)////设置邮件的附件编码方式mailMessage.Encoding="Base64&q

jmail接收邮件问题,部分邮件接收失败

问题描述 mailmessage=popmail.Messages[i];//取得一条邮件信息stringls_msg_date=mailmessage.Headers.Text;在这里mailmessage=popmail.Messages[i];接收失败,是什么原因,请大侠指点指点我设置的是163的邮箱,好像只可以接受到163的邮箱,就连QQ,新浪的邮箱都接收不到是什么原因呢?公司需要啊,请各位帮帮忙啊!!谢谢!!!! 解决方案 解决方案二:有没有防火墙进行屏蔽?解决方案三:TryDimjm

Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法_php实例

本文实例讲述了Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法.分享给大家供大家参考,具体如下: Zend Framework 里Zend_Mail这个组件用起来还是很方便的..它提供了通用化的编写与发送文本内容的邮件,当然它也兼容MIME标准的多个多个段的邮件消息的功能.Zend_Mail里通过默认的Zend_Mail_Transport_SendMail传输或能过Zend_Mail_Transport_Smtp来发送我们的电子邮件. Ze

php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法_php技巧

最近遇到一个问题,就是在使用php的mail函数发送utf-8编码的中文邮件时标题出现乱码现象,而邮件正文却是正确的.最初以为是页面编码的问题,发现页面编码utf-8没有问题啊,找了半天原因,最后找到了问题所在.   1.使用 PEAR 的 Mail 类 PEAR 的 Mail 类可以让你选择使用 sendmail 或者 SMTP 方式发信,这样的包装好的接口很好用,你没有必要去自己重新发明轮子. 2.关于headers 中subject 的乱码 不要把任何除了 iso-8859-1 编码之外的

Jmail4.4实现邮件接受,发现“邮件附件较大时(如40兆),接收邮件非常慢,求解决方法

问题描述 Jmail4.4实现邮件接受,发现"邮件附件较大时(如40兆),接收邮件非常慢,求解决方法 public static jmail.POP3Class popMail; //实例化POP3类对象 public static jmail.Message mailMessage; //实例化邮件对象 public static jmail.Attachments atts; //实例化邮件的附件集合 public static jmail.Attachment att; //实例化附件对象

php mail发邮件标题中文乱码的问题解决办法

当使用下面的PHP语句发送电子邮件的时候,如果编码和接收邮箱编码不相同,会发现邮件的标题是乱码,而邮件正文却是正确的,如何才能使得邮件标题不是乱码呢? $subject = stripslashes($the_post['Title']); $headers = "MIME-Version: 1.0rn"; $headers .= "Content-type: text/plain; charset=utf-8rn"; $headers .= "Conte

打开网页,网页标题乱码,求大牛帮我解决

问题描述 打开网页,网页标题乱码,求大牛帮我解决 解决方案 jsp页面meta 的编码格式与tomcat/服务器的编码格式检查一下是否一致 解决方案二: 编码不一致导致的,jsp页面meta申明charset为utf-8文件也要存储为utf-8编码,gb2312为ansi 解决方案三: 你查看下你所有的页面和内容的编码是否一致 解决方案四: VC获取网页标题,解决乱码问题ASP网页乱码解决网页打开php文件乱码的问题 解决方案五: 谢谢大家,问题顺利解决去!!!