赞
踩
大家好!今天给大家分享的知识是Springboot整合JavaMail来发送邮件。
JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口 。它是Sun发布的用来处理email的API。 它可以方便地执行一些常用的邮件传输。 我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。简单理解就是可以用它来实现用java来发送邮件。
还是老样子,先来建项目,然后导入入JavaMail的依赖。
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-mail</artifactId>
- </dependency>
导入依赖项之后需要配置yml文件。
在这里有几个点是必填的。第一个host的意思是我们用什么邮箱来进行发送,前面加上smtp协议,第二个username是我们发送邮件的邮箱是哪个,还有第三个密码也是必填的。 这个password不是随便乱写的 ,在这里我用的是QQ邮箱,是需要从QQ邮箱来获取这个密码的。下面我来告诉大家。
首先打开QQ邮箱,点击设置
然后点击账户,往下滑。
然后找到SMTP服务,点击开启,就会出现一个属于你自己的密码,我们将出现的密码复制过来即可。 (由于我已经开启了,就不再演示了)
这样就完成了前期的配置工作。
我们先来建一个Service层,并且建一个实现类。
先来写接口,代码如下:
- package com.example.springboot_javaemail.service;
-
-
- public interface SendMailService {
- void SendMail();
- }
实现类,代码如下:
- package com.example.springboot_javaemail.service.impl;
-
- import com.example.springboot_javaemail.service.SendMailService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.mail.SimpleMailMessage;
- import org.springframework.mail.javamail.JavaMailSender;
- import org.springframework.stereotype.Service;
-
- @Service
- public class SendMailServiceImpl implements SendMailService {
-
- @Autowired
- private JavaMailSender javaMailSender; //javamail对象
- //发送人
- private String from = "346067392@qq.com";
- //接收人
- private String to ="1255166926@qq.com";
- //标题
- private String subject="测试邮件";
- //正文
- private String context="测试!!!你好!我是亚不帅";
-
-
- @Override
- public void SendMail() {
- SimpleMailMessage message = new SimpleMailMessage(); //信息
- message.setFrom(from+"(亚不帅)"); //发送人
- message.setTo(to); //接收人
- message.setSubject(subject); //标题
- message.setText(context); //内容
- //message.setSentDate(); //定时发送
- javaMailSender.send(message); //发送
- }
- }
在这里需要再创建一个SimpleMailMessage对象,要知道SimpleMailMessage是值对象,封装了一些简单的属性,如from、to、subject、text等等,SimpleMailMessage只能用来发送text格式的邮件 。
然后我们来测试一下
- package com.example.springboot_javaemail;
-
- import com.example.springboot_javaemail.service.SendMailService;
- import org.junit.jupiter.api.Test;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.test.context.SpringBootTest;
-
- @SpringBootTest
- class SpringbootJavaemailApplicationTests {
-
- @Autowired
- private SendMailService service;
-
- @Test
- void contextLoads() {
- service.SendMail();
- }
-
- }
可以看到,成功发送邮件。
本文仅仅说了发送简单文本邮件,学起来还是比较简单的,有不足的地方请指出!谢谢各位的观看!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。