SpringBoot整合Java Mail实现Outlook / Office365发送邮件

简介: 日常开发过程中,我们经常需要使用到邮件发送任务,比方说验证码的发送、日常信息的通知等。日常比较常用的邮件发送方包括:163、QQ等,本文主要讲解Outlook SMTP的开启方式、OutLook STARTTTL的配置、如何通过JavaMail来实现电子邮件的发送等。

日常开发过程中,比较常用的邮件发送方包括:163、QQ等,网上常见的配置与测试,也大多基于上述完成。
Outlook作为微软提供的企业电子邮件服务品牌,与其他品牌不同的是:Outlook使用的加密方式为STARTTTL。本文主要讲解Outlook SMTP的开启方式、OutLook STARTTTL的配置、如何通过JavaMail来实现电子邮件的发送等。

一、开启帐号的SMTP服务

首先,通过office.com登录你的微软邮箱。
进入设置页面,点击"同步电子邮件"选项,将POP选项选为"是".然后保存即可。
image.png

注意:
如果你的帐号为E3、E5等商用类型帐号,子账号是不具备开启SMTP选项的权限的,需要联系管理员开启。
开启方法参考微软官方文档: 启用或禁用通过身份验证的客户端 SMTP (SMTP AUTH) smtp Exchange Online

二、配置文件

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

spring.mail.username=mail@outlook.com  #此处修改为你的邮箱帐号
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);
    }

}

四、发送邮件

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


目录
相关文章
|
10月前
|
Java
有关Java发送邮件信息(支持附件、html文件模板发送)
有关Java发送邮件信息(支持附件、html文件模板发送)
516 1
|
10月前
|
安全 JavaScript Java
SpringBoot实现定时发送邮件
SpringBoot实现定时发送邮件
116 0
|
10月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的计算机office课程平台的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的计算机office课程平台的详细设计和实现(源码+lw+部署文档+讲解等)
|
5月前
|
Java API 网络安全
Java 发送邮件示例
本示例展示了如何使用Java编程语言发送电子邮件。通过利用JavaMail API,这段代码实现了从配置SMTP服务器,设置邮件属性,到发送邮件的全过程,为开发者提供了实用的参考。
403 11
|
9月前
|
Java 数据安全/隐私保护
Springboot拓展之整合邮件 JavaMail的使用与实操
Springboot拓展之整合邮件 JavaMail的使用与实操
135 0
|
10月前
|
Java Spring
Spring boot项目如何发送邮件
Spring boot项目如何发送邮件
63 2
|
10月前
|
Java API 数据安全/隐私保护
【亮剑】如何在Java项目中结合Spring框架实现邮件发送功能
【4月更文挑战第30天】本文介绍了如何在Java项目中结合Spring框架实现邮件发送功能。首先,需在`pom.xml`添加Spring和JavaMail依赖。然后,在`applicationContext.xml`配置邮件发送器,包括SMTP服务器信息。接着,创建一个使用依赖注入的`EmailService`类,通过`JavaMailSender`发送邮件。最后,调用`EmailService`的`sendSimpleEmail`方法即可发送邮件。最佳实践包括:使用配置管理敏感信息,利用`MimeMessage`构造复杂邮件,异常处理和日志记录,以及在大量发送时考虑使用邮件队列。
146 1
|
10月前
|
网络协议 Java API
Java语言发送邮件的技术性详解
Java语言发送邮件的技术性详解
|
10月前
|
Java API 数据安全/隐私保护
Java 发送邮件
5月更文挑战第20天
|
10月前
|
消息中间件 JSON Java
如何利用springboot + rabbitmq发送邮件?
RabbitMQ相关知识请参考: RabbitMQ消息确认、消息持久化等核心知识总结 - 简书
80 2