Spring:无法发送邮件 - 无法连接到SMTP主机:smtp.gmail.com,port:465,响应:-1

时间:2015-12-29 18:57:14

标签: spring

我正在尝试通过我的春季启动应用发送电子邮件。但是,我得到以下例外:

Could not connect to SMTP host: smtp.gmail.com, port: 465, response: -1

控制器类如下:

@RestController
@RequestMapping("/services")
public class MyController {

    @Autowired
    private MailSender mailSender;

    @RequestMapping(value = "/my/mail", method = RequestMethod.GET)
    @ResponseBody
    public String sendmymail() {

        System.out.println("Starting send");

        SimpleMailMessage mailMessage = new SimpleMailMessage();
        mailMessage.setSubject("Hello");
        mailMessage.setTo("myemailid@gmail.com");
        mailMessage.setFrom("myemailid@gmail.com");


        SimpleMailMessage message = new SimpleMailMessage(mailMessage);
        message.setText("Hello");

        try {
            this.mailSender.send(message);
        }
        catch (Exception e)
        {
            System.out.println(e.getMessage());
        }
        System.out.println("Finished send");
        return "OK";
    }
}

我已经在application.properties中配置了属性,如下所示:

spring.mail.host=smtp.gmail.com
spring.mail.port=465
spring.mail.username=<myemailid>
spring.mail.password=<mypassword>

spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.transport.protocol=smtps
spring.mail.properties.mail.smtps.quitwait=false
spring.mail.properties.mail.smtp.socketFactory=25

我在pom.xml中添加了以下依赖项,用于自动装配MailSender:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>4.1.4.RELEASE</version>
</dependency>

我做错了什么吗?电子邮件ID和密码是正确的,因为我多次检查过它。

2 个答案:

答案 0 :(得分:1)

google smtp服务器的端口号为587

spring.mail.port=587

也许也加上这个:

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

我设法使用我的Gmail帐户发送电子邮件,但没有这三个配置值:

spring.mail.properties.mail.transport.protocol=smtps
spring.mail.properties.mail.smtps.quitwait=false
spring.mail.properties.mail.smtp.socketFactory=25

我不知道他们是什么,但如果没有他们,你应该没问题。

答案 1 :(得分:0)

我遇到了类似的问题。我按照以下两个步骤&amp;它起作用了 -

  1. 在Gmail设置中,为安全性较低的应用启用“访问权限”。
  2. 防病毒设置。关闭网盾和邮件盾。