我已经研究了该主题几天,但我在网上找到的答案都没有对我有用。上下文:我有一个Spring Boot Web应用程序,该应用程序使用Java Mail API和Spring Boot Starter Mail发送自动电子邮件通知。它使用带有GSuite帐户的GMail SMTP服务器。我最近升级为使用Spring 5.0.6和Spring Boot 2.0.2,并且电子邮件发送停止了工作。一些线索:发送电子邮件的Java代码与以前相同Gmail SMTP仍然可以正常工作(从另一台使用旧版应用程序且具有相同设置和身份验证的VM,可以正确发送电子邮件)。除非我丢失了某些内容,否则应用程序配置与以前相同发生了变化的事情:升级到Spring 5.0.6升级到Spring Boot 2.0.2Java代码中许多地方的更改,以适应此升级并在应用程序的其他部分中添加功能VM的IP地址与以前不同(AWS EC2实例)以下是pom.xml中的相关依赖项: <!-- https://mvnrepository.com/artifact/javax.mail/javax.mail-api --> <dependency> <groupId>javax.mail</groupId> <artifactId>javax.mail-api</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>这是与Spring邮件相关的application.yml:spring: mail: host: ${FT_MAIL_SMTP_HOST} port: ${FT_MAIL_SMTP_PORT} username: ${FT_MAIL_SMTP_USERNAME} password: ${FT_MAIL_SMTP_PASSWORD} debug: false properties: mail: smtp: starttls: enable: ${FT_MAIL_SMTP_STARTTLS} required: ${FT_MAIL_SMTP_TLSREQUIRED} auth: ${FT_MAIL_SMTP_AUTH} connectiontimeout: ${FT_MAIL_SMTP_CONN_TIMEOUT} timeout: ${FT_MAIL_SMTP_TIMEOUT} writetimeout: ${FT_MAIL_SMTP_WRITE_TIMEOUT}这些变量在环境中定义:FT_MAIL_SMTP_HOST=smtp.gmail.comFT_MAIL_SMTP_PORT=587FT_MAIL_SMTP_USERNAME=myaccount@myapp.comFT_MAIL_SMTP_PASSWORD=mypasswordFT_MAIL_SMTP_STARTTLS=trueFT_MAIL_SMTP_TLSREQUIRED=trueFT_MAIL_SMTP_AUTH=trueFT_MAIL_SMTP_CONN_TIMEOUT=5000FT_MAIL_SMTP_TIMEOUT=5000FT_MAIL_SMTP_WRITE_TIMEOUT=5000我尝试设置不正确的SMTP服务器或错误的凭据,这使连接失败,因此我认为服务器和凭据是正确的,并且在成功连接后会发生错误。所使用的帐户尚未达到上限,因为另一个VM使用相同的凭据并可以毫无问题地发送电子邮件。我尝试将“启动TLS”设置更改为false,而改用端口465,但这也不起作用。
2 回答
叮当猫咪
TA贡献1776条经验 获得超12个赞
在对配置进行了多次尝试和错误之后,我发现它在配置中需要一个应用程序属性“ spring.mail.protocol”。
我已经protocol: smtp在application.yml中添加了这一行:
spring:
mail:
protocol: smtp
这样就解决了读取超时问题,现在可以正确发送电子邮件了。希望将来对某人有帮助。
杨魅力
TA贡献1811条经验 获得超6个赞
我确实遇到过同样的问题,但是我的情况有点不同
我试图使用石英表以预定的方式发送
当我不使用Quartz时,一切正常,但是使用石英时,它开始出现故障
上面的解决方案对我没有帮助,但是使我了解了我设置的属性。
增加连接超时对我有用
从而改变了应用程序的属性
从:
spring.mail.properties.mail.smtp.timeout=3000
至:
spring.mail.properties.mail.smtp.timeout=25000
希望它也对其他人有用
添加回答
举报
0/150
提交
取消