Spring Boot Mail使用acces令牌发送电子邮件

时间:2018-11-19 13:58:53

标签: spring spring-boot javamail

我在一个bean中配置的项目中具有简单的邮件发送功能。

@Bean
public JavaMailSender javaMailSender() {
    JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();

    Properties properties = new Properties();
    properties.setProperty("mail.smtp.auth", "false");
    properties.setProperty("mail.smtp.socketFactory.port", "465");
    properties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    properties.setProperty("smtp.socketFactory.fallback", "false");
    properties.setProperty("mail.smtp.starttls.enable", "true");
    properties.setProperty("mail.smtp.starttls.required", "true");

    javaMailSender.setHost("smtp.gmail.com");
    javaMailSender.setProtocol("smtp");
    javaMailSender.setUsername("username");
    javaMailSender.setPassword("password");
    javaMailSender.setJavaMailProperties(properties);

    return javaMailSender;
}

效果很好。

现在,我想添加用于通过特定电子邮件的accessToken / refreshToken发送电子邮件的功能。

该怎么做?我应该在bean中扩展什么,或者添加另一个与令牌一起发送的bean?我找不到完整解释的示例。据我了解,我应该添加setFrom()并在setPassword()中放置accessToken

1 个答案:

答案 0 :(得分:2)

使用OAUTH2 with JavaMail is explained on the JavaMail project page

此外,您应该在代码中修复这些common mistakes