天天看点

SpringBoot整合Java Mail实现Outlook / Office365发送邮件一、开启帐号的SMTP服务二、配置文件三、发送测试邮件四、发送邮件

日常开发过程中,比较常用的邮件发送方包括:163、QQ等,网上常见的配置与测试,也大多基于上述完成。

Outlook作为微软提供的企业电子邮件服务品牌,与其他品牌不同的是:Outlook使用的加密方式为STARTTTL。本文主要讲解Outlook SMTP的开启方式、OutLook STARTTTL的配置、如何通过JavaMail来实现电子邮件的发送等。

一、开启帐号的SMTP服务

首先,通过office.com登录你的微软邮箱。

进入设置页面,点击"同步电子邮件"选项,将POP选项选为"是".然后保存即可。

SpringBoot整合Java Mail实现Outlook / Office365发送邮件一、开启帐号的SMTP服务二、配置文件三、发送测试邮件四、发送邮件

注意:

如果你的帐号为E3、E5等商用类型帐号,子账号是不具备开启SMTP选项的权限的,需要联系管理员开启。

开启方法参考微软官方文档:

启用或禁用通过身份验证的客户端 SMTP (SMTP AUTH) smtp Exchange Online

二、配置文件

修改配置文件,配置JavaMail邮件发送的基本参数。由于Office365邮件发送启用了STARTTLS的加密验证方式,所以需要通过spring.mail.properties的自定义属性来进行加密信息的相关配置。

配置文件如下:

[email protected]  #此处修改为你的邮箱帐号
spring.mail.password=1*******Acws*  #此处为你的邮箱密码
spring.mail.host=smtp.office365.com
spring.mail.port=587
# 自定义属性
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.ssl.socketFactory.class=com.sun.mail.util.MailSSLSocketFactory
spring.mail.properties.mail.smtp.ssl.socketFactory.fallback=false
spring.mail.default-encoding=UTF-8           

三、发送测试邮件

编写测试工具类,发送邮件。由于本文仅做简单测试,所以仅以简单的邮件形式来作为测试,其他复杂形式,包括附件、抄送人、HTML格式邮件等,会在后续的章节中进行介绍。

@SpringBootTest
class SpringBootTaskApplicationTests {

    @Autowired
    JavaMailSenderImpl mailSender;

    @Value("${spring.mail.username}")
    private String username;

    @Test
    void contextLoads() {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setSubject("这里写测试邮件标题");
        message.setText("这里写正文内容");
        message.setTo("*****@qq.com"); //收件人邮箱地址,请自行修改
        message.setFrom(username);
        mailSender.send(message);
    }

}           

四、发送邮件

执行测试代码即可完成测试邮件的发送。

SpringBoot整合Java Mail实现Outlook / Office365发送邮件一、开启帐号的SMTP服务二、配置文件三、发送测试邮件四、发送邮件