本以为 是做事器编码问题,各种设置编码,都弗成,终极找到了缘故原由,jar包冲突.大家可以看看这篇文章:http://jeyke.iteye.com/blog/1441548 。
我的项目是利用maven引入包的,pom.xml中的配置如下:
<dependency>

<groupId>org.apache.neethi</groupId>
<artifactId>neethi</artifactId>
<!– 打消这个包,不然上线发邮件有问题(与mail.jar有冲突) –>
<exclusions>
<exclusion>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-javamail_1.4_spec</artifactId>
</exclusion>
</exclusions>
</dependency>
利用exclusions 打消geronimo-javamail_1.4_spec包,
重新将项目打包提交到做事器,问题办理了。
办理问题时还看到另一篇文章,说的也基本是这个意思。。该文章紧张内容如下:
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… 此时可以发送邮件!