首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

javamail 发送邮件 内容乱码有关问题的解决

2013-08-14 
javamail 发送邮件 内容乱码问题的解决转:javamail 发送邮件 内容乱码问题的解决?很少写博客,今天必须得把

javamail 发送邮件 内容乱码问题的解决

转:javamail 发送邮件 内容乱码问题的解决

?


很少写博客,今天必须得把这个情况写下来。。。。搞了一天。
?
BUG描述:本地测试,正常发送邮件。部署到linux服务器(无中文)后,发送邮件无主题,无收件人,正文中是乱码。
?
?
?
我有一篇文章http://www.cnblogs.com/XL-Liang/articles/2843937.html,介绍的是如何使用javamail发送邮件。我在项目中使用的就是这个方式发送邮件。
?
我的项目是使用maven引入包的,pom.xml中的配置如下:
?


<dependency>
??????? <groupId>org.apache.geronimo.specs</groupId>
??????? <artifactId>geronimo-javamail_1.4_spec </artifactId>
??????? <version>1.3</version>
??? </dependency>
??? <dependency>
????? <groupId>org.apache.commons</groupId>
?????????? <artifactId>commons-email</artifactId>
??????????? <version>1.2</version>
??? </dependency>


?
?
这种配置方式来自于互联网~~~~,坑爹啊~~~~。问题就出在这里!!下面是我通过程序发送的邮件在QQ邮箱中接收到的样子。
?


一开始我我还以为是乱码,处理了很长时间的编码问题。一直都没有效果,最后发现大概不是编码问题,最后我在网上看到了一篇文章,地址是:http://jayklin.iteye.com/blog/1441548
?
这里面有一句话说:这个是因为jar包的问题。没有使用标准版的javamail.jar,而是项目中,加载了geronimo-javamail_1.4_spec-1.3.jar这个包导致的。
?
于是将pom.xml中上面的配置改为下面这样:  
?


<dependency>
??????? <groupId>javax.mail</groupId>
??????? <artifactId>mail</artifactId>
??????? <version>1.4.1</version>
??? </dependency>


重新生成 Eclipse 项目文件之后,将项目打包提交到服务器,问题解决了。
?
解决问题时还看到另一篇文章,说的也基本是这个意思。。该文章主要内容如下:
?
Spring javaMail发送邮件无主题,无收件人,附件显示在正文中而且是乱码的的问题,
程序中显示邮件发送成功,但邮箱收不到邮件,查看debug 邮件处理过程发现邮件头没有编译,
内容是base64编码,所以邮箱收不到或者收到的是base64编码后的一堆乱码,
这个问题理困扰我一个多星期,首先以为代码有问题改编码,又改邮箱,再解码结果浪费了很多时间,
因为是在我测试的工程中好用,移到我的正式工程后就不好用了。
最后怀疑和工程中的JAR包有冲突。就一个一个测试,最后发现问题所在,这才是最根本的问题原来工程中有两个包。

geronimo-activation_1.1_spec-1.0.2.jar
geronimo-javamail_1.4_spec-1.3.jar

这两个包和我测试中工程包有冲突删除就一切OK了。

另外有可能和Myeclipse中安装目录下面的jar包有冲突 删除即可。
位置在:
\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_6.0.1.zmyeclipse601200710\data\libraryset\EE_5\javaee.jar
?里的javaee.jar 解压出来 将其中的activation.jar和mail.jar文件夹删了
?然后重新导入了javaMail.jar 中的两个包 mail.jar和activation.jar…? 此时可以发送邮件!?

热点排行