Spring发邮件-Unable to locate provider for protocol: smtp


 

依赖如下:

[INFO] |  +- org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar:1.7.1:compile
[INFO] |  +- org.apache.geronimo.specs:geronimo-activation_1.1_spec:jar:1.1:compile

 

异常如下:

org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.NoSuchProviderException: Unable to locate provider for protocol: smtp. Failed messages: javax.mail.NoSuchProviderException: Unable to locate provider for protocol: smtp; message exception details (1) are:
Failed message 1:
javax.mail.NoSuchProviderException: Unable to locate provider for protocol: smtp
        at javax.mail.Session.getProvider(Session.java:237)
        at javax.mail.Session.getTransport(Session.java:346)
        at org.springframework.mail.javamail.JavaMailSenderImpl.getTransport(JavaMailSenderImpl.java:459)
        at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:388)
        at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:340)
        at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:336)

 

解决方案:

参考

http://comments.gmane.org/gmane.comp.java.servicemix.user/5205

 

替换上述依赖jar包为:

activation-1.1.jar
mail-1.4.jar

 

具体原因:

linux下,无法使用上述依赖的包。替换后,done!!!

 

自己的一些感悟:

你遇到的问题,基本上都已经有人遇到了。毕竟,你在使用别人开发的技术。所以,一定要善于利用搜索引擎和多多总结。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM