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


目录
相关文章
|
6月前
|
Java
有关Java发送邮件信息(支持附件、html文件模板发送)
有关Java发送邮件信息(支持附件、html文件模板发送)
393 1
|
6月前
|
安全 JavaScript Java
SpringBoot实现定时发送邮件
SpringBoot实现定时发送邮件
80 0
|
1月前
|
Java API 网络安全
Java 发送邮件示例
本示例展示了如何使用Java编程语言发送电子邮件。通过利用JavaMail API,这段代码实现了从配置SMTP服务器,设置邮件属性,到发送邮件的全过程,为开发者提供了实用的参考。
|
5月前
|
Java 数据安全/隐私保护
Springboot拓展之整合邮件 JavaMail的使用与实操
Springboot拓展之整合邮件 JavaMail的使用与实操
42 0
|
6月前
|
Java Spring
Spring boot项目如何发送邮件
Spring boot项目如何发送邮件
46 2
|
6月前
|
网络协议 Java API
Java语言发送邮件的技术性详解
Java语言发送邮件的技术性详解
|
6月前
|
Oracle 安全 Java
JAVA用Mail发送API的方法步骤教程
使用Java和Mail发送API实现自动化邮件发送,提高效率。步骤包括:1. 安装JDK并配置JAVA_HOME,2. 添加JavaMail库(可通过Maven或官网下载)。配置邮件发送涉及邮件服务器地址、端口和认证信息。创建邮件会话、邮件消息对象,然后使用Transport发送。示例代码展示完整流程。注意处理认证失败、连接问题和邮件发送失败等常见问题。
|
6月前
|
Java API 数据安全/隐私保护
【亮剑】如何在Java项目中结合Spring框架实现邮件发送功能
【4月更文挑战第30天】本文介绍了如何在Java项目中结合Spring框架实现邮件发送功能。首先,需在`pom.xml`添加Spring和JavaMail依赖。然后,在`applicationContext.xml`配置邮件发送器,包括SMTP服务器信息。接着,创建一个使用依赖注入的`EmailService`类,通过`JavaMailSender`发送邮件。最后,调用`EmailService`的`sendSimpleEmail`方法即可发送邮件。最佳实践包括:使用配置管理敏感信息,利用`MimeMessage`构造复杂邮件,异常处理和日志记录,以及在大量发送时考虑使用邮件队列。
116 1
|
6月前
|
Java API 数据安全/隐私保护
Java 发送邮件
5月更文挑战第20天
|
6月前
|
Java
Springboot如何发送邮件
Springboot如何发送邮件