一、出问题的地方:
Properties props = new Properties(); // 参数配置,具体参数就不写了
Session session = Session.getInstance(props,auth); ---------- main方法单独运行可以发邮件,但是在web项目里面调用Session就不能完整的创建加载props
session.setDebug(true);
MimeMessage message;
message = createMimeMessage(subject, msgInfo, session, reportEmailAccount, receiveMailAccount, filePath);
二、原因:jar包冲突
三、解决办法:当然是我们高级工程师帮我找的,但是还是记录下
ctrl + shift + t :查找类所在的包,同一个类一类多个包会引起包从图
1.先查找Session类所依赖的包,看是否有多个,如果有想办法去掉多余的
2.再查找MineMessage类所依赖的包,看是否有多个,如果有想办法去掉多余
本人出问题的是 MineMessage类所依赖的包有多个,
邮件mail-1.47.jar与数据库连接池包proxool-0.9.1.jar都有MineMessage类照成报冲突,导致Session创建失败
紫色部分包照成的冲突,上图所示引用下就可以解决包冲突;
网上好多说的都不是很详细,有的提到包冲突但是没与给出具体的位置及解决方法,所以自己记录下来
转载请著名出处