springboot框架集成邮箱功能
大致步骤还是遵循三部曲(导包配置)
1、导包
首先导入必要的包,版本默认和web版本一致
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2、配置
首先开启邮箱的SMTP服务:
首先打开自己的qq邮箱,然后打开设置中的账户

然后通过短信开启POP3/SMTP服务,记下自己的授权码
然后使用IMAP服务

最后配置项目的配置文件,端口号要用默认的25,如下:
spring:
mail:
host: smtp.qq.com
username: qq邮箱
password: 授权码
port: 25
default-encoding: utf-8
3、测试
测试就直接上代码了
public class MyTest {
@Resource
JavaMailSenderImpl javaMailSender;
@Test
public void handler(){
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
try {
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage,true);
mimeMessageHelper.setFrom("发送人邮箱","发送人昵称");
mimeMessageHelper.setTo("接收人邮箱");
mimeMessageHelper.setSubject("标题");
mimeMessageHelper.setText("内容");
javaMailSender.send(mimeMessage);
System.out.println("发送完成");
} catch (MessagingException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
4、封装应用
首先封装一个实体类包括如下属性
public class MailVo {
private String to;//发送给谁
private String from;//谁发送的
private String personal;//用户民
private String subject;//主题
private String content;//内容
}
然后通过一个实体对象来请求邮件
@Resource
JavaMailSender javaMailSender;
@PostMapping("/send")
CommonResult send(MailVo mailVo){
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
helper.setFrom(mailVo.getFrom(),mailVo.getPersonal());
helper.setTo(mailVo.getTo());
helper.setSubject(mailVo.getSubject());
helper.setText(mailVo.getContent(),true);
javaMailSender.send(mimeMessage);
} catch (MessagingException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
这样就可以成功发送邮件了。当然邮件的内容不止文字的形式,还可以发送html格式等等。
5、成功


浙公网安备 33010602011771号