在Spring启动中使用YAML文件配置SMTP主机

时间:2016-12-27 20:06:32

标签: java spring-boot smtp

我正在尝试为Spring启动应用程序配置SMTP主机。

我的application-dev.yml文件中包含此代码:

 mail:
    host: smtp.gmail.com
    port: 465
    username: myemail@gmail.com
    password: mypassword

然而,当我尝试发送电子邮件时,我得到了这个例外:

Caused by: javax.mail.MessagingException: Could not connect to 
SMTP host: smtp.gmail.com, 
port: 465, response: -1

此外,我已经使用JHipster生成了此代码,我不确定是否应该修改其他内容,或者这足以配置SMTP主机。

将端口更改为587后,我得到了这个:

org.springframework.mail.MailSendException: 
Failed messages:    com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue 
a STARTTLS command first. jm6sm60863600wjb.27 - gsmtp

3 个答案:

答案 0 :(得分:1)

我做了以下更改,现在工作正常:

 mail:
    host: smtp.gmail.com
    port: 587
    username: mymail@gmail.com
    password: mypassword
    protocol: smtp
    tls: true
    properties.mail.smtp:
        auth: true
        starttls.enable: true
        ssl.trust: smtp.gmail.com

答案 1 :(得分:0)

我相信你错了。我相信它是setContentView(R.layout.activity_main);

<强>更新

现在我们需要设置StartTLS

添加

587

答案 2 :(得分:0)

我使用以下YAML配置通过Gmail发送邮件

spring:
  mail:
    default-encoding: UTF-8
    host: smtp.gmail.com
    username: <Gmail username>
    password: <Gmail password>
    port: 587
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true
    protocol: smtp
    test-connection: false