我想使用Aruba主机和SpringBoot 2.1.3
应用程序发送邮件。在开始之前,我做了一点测试,相信我会发现没有问题。.我错了。
这是我的application.properties
spring.mail.host=smtps.aruba.it
spring.mail.port=465
spring.mail.username=***
spring.mail.password=***
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.debug=true
不起作用,调试告诉我它无法连接到主机..,并且在尝试执行此操作时,调试器写道:
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtps.aruba.it", port 465, isSSL false
怎么了?我尝试使用具有相同参数的 gmail 和 hotmail 发送邮件,并且一切正常。.该死的Aruba ..
谢谢
答案 0 :(得分:1)
解决方案:
spring.mail.host=smtps.aruba.it
spring.mail.port=465
spring.mail.username=***
spring.mail.password=***
spring.mail.protocol=smtp
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
希望有帮助。
答案 1 :(得分:0)
我不确定是否100%正确,但是尝试使用不带“ s”的主机smtp,因为您没有使用安全的SSL连接:
smtp.aruba.it
答案 2 :(得分:0)
如果要使用STARTTLS切换到端口587,则端口465用于隐式SSL,而不用于显式
spring.mail.host=smtps.aruba.it
spring.mail.port=587
spring.mail.username=***
spring.mail.password=***
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true