Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Boot 1.2.5.RELEASE-通过Gmail SMTP发送电子邮件_Java_Spring_Email_Spring Boot_Jakarta Mail - Fatal编程技术网

Java Spring Boot 1.2.5.RELEASE-通过Gmail SMTP发送电子邮件

Java Spring Boot 1.2.5.RELEASE-通过Gmail SMTP发送电子邮件,java,spring,email,spring-boot,jakarta-mail,Java,Spring,Email,Spring Boot,Jakarta Mail,首先,我需要说用1.2.0.RELEASE发送电子邮件很好 应用程序。属性: spring.mail.host = smtp.gmail.com spring.mail.username = *****@gmail.com spring.mail.password = **** spring.mail.properties.mail.smtp.auth = true spring.mail.properties.mail.smtp.socketFactory.port = 465 spring.

首先,我需要说用1.2.0.RELEASE发送电子邮件很好

应用程序。属性:

spring.mail.host = smtp.gmail.com
spring.mail.username = *****@gmail.com
spring.mail.password = ****
spring.mail.properties.mail.smtp.auth = true
spring.mail.properties.mail.smtp.socketFactory.port = 465
spring.mail.properties.mail.smtp.socketFactory.class = javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.socketFactory.fallback = false
pox.xml

<parent>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-parent</artifactId>
     <version>1.2.0.RELEASE</version>
     <relativePath/>
</parent>
结果相同。

手动创建和配置@Bean不是问题。但我想用弹簧靴的所有美。
请指出我的错误


提前感谢

看起来这是一次回归。我已经创建了一个项目来调查这个问题。感谢您的示例项目

Java Mail中似乎出现了回归/行为变化。在1.5.3和1.5.4中都有。您的应用程序与Boot 1.2.0兼容,因为它使用Java Mail 1.5.2。由于它使用Java Mail 1.5.4,因此在Boot 1.2.5中失败

1.5.3+中的问题似乎是SMTP传输在端口465上连接,GMail需要SSL握手。Java Mail错误地认为它没有使用SSL,因此它从不发起握手,连接尝试(最终)超时。通过明确使用SSL,您可以说服Java Mail做正确的事情。将以下内容添加到
应用程序.properties

spring.mail.properties.mail.smtp.ssl.enable = true

那么错误信息是什么?@dunni,没有错误信息。发送者线程只是冻结,因为您有一个使用SpringBoot1.2.0的示例项目,并且它可以工作。然后你就换成spring boot 1.2.5然后它就坏了?就我所知,这两个版本之间没有任何变化。你能分享这个项目吗?@StéphaneNicoll,我已经用***替换了我的证书。现在已经是1.2.0了。Release对我来说也很有用。我有一个额外的错误,由于我的防病毒。一旦我禁用了邮件保护,邮件就成功发送了。这个答案非常有用。我使用它,以及spring boot的“spring.mail.test connection=true”来快速解决我的问题。
<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.7</version>
</dependency>
<dependency>
    <groupId>com.sun.mail</groupId>
    <artifactId>javax.mail</artifactId>
    <version>1.5.4</version>
</dependency>
spring.mail.host = smtp.gmail.com
spring.mail.username = *****@gmail.com
spring.mail.password = ****
spring.mail.port = 465
spring.mail.properties.mail.smtp.ssl.enable = true