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

问题描述

我在用Jmail4.4pro收邮件时,如果收到的邮件是UTF8编码,会出现中文的标题、中文的附件名称都是乱码的问题。但正文、附件内容都正常。对于标题乱码,暂时找到了解决办法,不要直接用JMail.Message.Subject,而是取JMail.Message.Headers.GetHeader("Subject"),然后再解码。但对于附件名称,则没有办法处理。只能JMail.Attatchment.Name得到附件名称,但那已经是乱码,类似于“娴?璇?docx”这种形式,似乎是不能正确恢复了。请教成功用过JMail的高手,有解决这个问题的办法吗?

解决方案

解决方案二:
Mail.Charset="utf-8";Mail.HTMLBody="Dearsir,<br>"+"Pleasereplythefollowingquestion.<br>"+strqeustion+"<br>From"+strmail;Mail.AddAttachment(File_Name,name,false,null);
解决方案三:
把JMail.ContentType="text/html"这句去掉就可以了,试一试!
解决方案四:
JMail.Charset="gb2312"JMail.ContentTransferEncoding="base64"JMail.Encoding="base64"JMail.ISOEncodeHeaders=false
解决方案五:
引用1楼the_pain的回复:

Mail.Charset="utf-8";Mail.HTMLBody="Dearsir,<br>"+"Pleasereplythefollowingquestion.<br>"+strqeustion+"<br>From"+strmail;Mail.AddAttachment(File_Name,name,false,null);

^_^^_^不是发邮件,是收取。Attachmentsatts=newAttachmentsClass();fileName=atts[i].Name;这里的属性只能取已经处理过的附件名称。这已经是乱码了。有没有其他途径获取附件名称?
解决方案六:
引用3楼the_pain的回复:

JMail.Charset="gb2312"JMail.ContentTransferEncoding="base64"JMail.Encoding="base64"JMail.ISOEncodeHeaders=false

这些方法之前试过了,刚才又试了一遍,JMail.ContentType="text/html"这句也去掉了,还是不行啊。
解决方案七:
有谁试过Jmail收UTF8编码的邮件吗?

时间: 2024-09-10 19:46:47

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

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

问题描述 楼主发表于:2010-07-2017:32:20用jmail接收网络邮件时,经常会出现标题成乱码.无论如何设置页面默认编码方式都不管用.下面是我的解决方法,希望对大家有用.Msg.Subject获取标题错误.使用Msg.Headers.GetHeader("Subject")获取标题,的出来的字符串为Base64编码.举例:Msg.Headers.GetHeader("Subject")得出:=?utf-8?B?5L2g5Lus5aW95ZWK77yM6I

如何解决发送大量邮件时被服务器拒绝发送的问题?

问题描述 现在有一个电商项目,订单状态改变时要发邮件给客户,但是发送量大了以后,阿里云企业邮箱就把邮件给退回来了,提示内容如图所示,怎么破? 解决方案 本帖最后由 zhaoycchencsd 于 2016-02-01 23:39:38 编辑解决方案二:问下你的邮箱供应商,或者换一个服务商解决方案三:这个几乎是无解的.因为不是你的问题而是对方的问题..是对方把你的东西当作了垃圾处理所以你自己如何解决都是徒劳无功.找对方解决吧....解决方案四:电话咨询,找马云,哈哈哈解决方案五:引用2楼by_封爱

java做收邮件时邮件内容中镶嵌的图片无法正常显示?

问题描述 下面是我解析邮件内容的方法publicvoidgetMailContent(Partpart)throwsMessagingException,IOException{StringcontentType=part.getContentType();intnameindex=contentType.indexOf("name");booleanconname=false;if(nameindex!=-1){conname=true;}if(part.isMimeType(&qu

JavaMail收取邮件时 收取带附件邮件的邮件正文

问题描述 用javamail发送邮件时,如果邮件带附件,则邮件的正文需要bodypart的setText方法来存储,收邮件时,用什么方法把这个里面的东西提取出来呢?不是那个用stringbuffer之类的这个内容是通过jsp上的test输入的只是text,我需要把它提取出来存到一个string中

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

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

看过来:教你解决Vista无法收邮件问题

日前有个朋友买了个 预装VISTA的本本,由于工作需要使用OUTLOOK来收邮件,在VISTA上OUTLOOK升级为Windows Mail,遇到一个很奇怪的问题,当收有附件的邮件时进度条就停止在 那里,过一段时间后显示http://www.aliyun.com/zixun/aggregation/12489.html">邮件服务器连接超时,错误代码0x800CCC19. 试了很多办法都没解决,最后在一个老外的贴子上找到了解决方法,方法如下: 1.鼠标右键点开始->附件中的"

c#封装jmail的pop3收邮件

jmail|封装|收邮件 *w3 JMail v4.4 Professional 的获取请自行 google!或参阅 http://community.csdn.net/Expert/TopicView.asp?id=3739405w3 JMail v4.4 Professional 是一个 COM 的组件,我用 C# 把其 POP3 COM 类封装成一个用于收取邮件的 .Net 组件:实现了 //同步事件  public event MessagesEventHandler MessageRe

win8.1系统无法识别带中文标题的附件邮件如何解决

  win8.1系统无法识别带中文标题的附件邮件如何解决?win8.1系统内置有邮件应用,可以查看所有的电子邮件,非常方便.但是游戏用户说win8.1自带的邮件应用收到的附件经常无法识别,使用其他邮件客户端都没有问题.无法识别的附件类型为txt,docx,xlsx等,但不是此类型的附件全部无法识别,而是带中文标题的附件邮件无法识别,会出现乱码,如何解决呢?大家和小编一起看看解决方法. 解决方法 1.建议禁用电脑上的所有安全软件,同时请查看系统语言设置.区域设置.时间设置是否正常. 2.按Win+

sqlite-android读取手机联系人并在textview中显示名字时中文乱码怎么解决?

问题描述 android读取手机联系人并在textview中显示名字时中文乱码怎么解决? android读取手机联系人并在textview中显示名字时中文乱码怎么解决?从数据库里来的中文的全变成"?"了,其他的正常. 解决方案 new String(lCursor.getBlob(indexName), "UTF-8").replace("", "").replace("r", "");