spring发送邮件收到方显示为无主题,内容和附件都显示不正常

来源:互联网 发布:手机怎么申请淘宝账号 编辑:程序博客网 时间:2024/04/30 06:19

1.前情提示

关于怎么在spring中集成发送邮件,不是本文重点==
无论是简单的文本格式还是html格式,还是velocityEngine模板,集成起来都不是很难。本文旨在记录一个BUG,当你完全正确集成,且邮件发送成功之后,然后打开邮箱发现收到的邮件都是显示:无主题,且内容和附件都是一串不怎么能看懂的数字,像_Part_0_29689095.1456985235625…,截图如下:
这里写图片描述

2.解决办法

根本原因是jar包冲突,不要再怀疑其他了,就是你的jar有问题!可以尝试在pom.xml中引入如下:

<dependency>      <groupId>javax.mail</groupId>      <artifactId>mail</artifactId>      <version>1.4.4</version></dependency>

标准的javax.mail包,即可保证邮件正常。

此处注意,如果在javax.mail依赖之前,有其他的依赖,且其他的依赖中包含有javax.mail包,由于maven中包的索引是按照顺序执行,所以此处标准的javax.mail会不起作用,仍然会造成邮件无主题且内容乱码。
例如我的工程中就引入过org.apache.openjb包,由于此包中包含了javax.mail,导致标准的mail包失效,同样导致本文上述错误的发生,排查半天,才发现发送邮件的代码中的MimeMessage类在点击查看源码时索引的居然不是javax.mail类的源码,而是org.apache.openjb类的源码,由此发现了问题==,解决办法是把javax.mail移动到前面或者把org.apache.openjb删除。

解决jar包冲突之后,邮件即可正常,截图如下:
这里写图片描述

0 0
原创粉丝点击