当前位置:   article > 正文

Springboot--JavaMail发送邮件_springboot javamail

springboot javamail

大家好!今天给大家分享的知识是Springboot整合JavaMail来发送邮件。

一、JavaMail是什么?

JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口 。它是Sun发布的用来处理email的API。 它可以方便地执行一些常用的邮件传输。 我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。简单理解就是可以用它来实现用java来发送邮件。

二、配置并运行

1.配置

还是老样子,先来建项目,然后导入入JavaMail的依赖。

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-mail</artifactId>
  4. </dependency>

导入依赖项之后需要配置yml文件。

 

在这里有几个点是必填的。第一个host的意思是我们用什么邮箱来进行发送,前面加上smtp协议,第二个username是我们发送邮件的邮箱是哪个,还有第三个密码也是必填的。 这个password不是随便乱写的 ,在这里我用的是QQ邮箱,是需要从QQ邮箱来获取这个密码的。下面我来告诉大家。

首先打开QQ邮箱,点击设置

 

然后点击账户,往下滑。 

 

然后找到SMTP服务,点击开启,就会出现一个属于你自己的密码,我们将出现的密码复制过来即可。 (由于我已经开启了,就不再演示了)

 这样就完成了前期的配置工作。

2.发送邮件

我们先来建一个Service层,并且建一个实现类。

先来写接口,代码如下:

  1. package com.example.springboot_javaemail.service;
  2. public interface SendMailService {
  3. void SendMail();
  4. }

实现类,代码如下:

  1. package com.example.springboot_javaemail.service.impl;
  2. import com.example.springboot_javaemail.service.SendMailService;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.mail.SimpleMailMessage;
  5. import org.springframework.mail.javamail.JavaMailSender;
  6. import org.springframework.stereotype.Service;
  7. @Service
  8. public class SendMailServiceImpl implements SendMailService {
  9. @Autowired
  10. private JavaMailSender javaMailSender; //javamail对象
  11. //发送人
  12. private String from = "346067392@qq.com";
  13. //接收人
  14. private String to ="1255166926@qq.com";
  15. //标题
  16. private String subject="测试邮件";
  17. //正文
  18. private String context="测试!!!你好!我是亚不帅";
  19. @Override
  20. public void SendMail() {
  21. SimpleMailMessage message = new SimpleMailMessage(); //信息
  22. message.setFrom(from+"(亚不帅)"); //发送人
  23. message.setTo(to); //接收人
  24. message.setSubject(subject); //标题
  25. message.setText(context); //内容
  26. //message.setSentDate(); //定时发送
  27. javaMailSender.send(message); //发送
  28. }
  29. }

在这里需要再创建一个SimpleMailMessage对象,要知道SimpleMailMessage是值对象,封装了一些简单的属性,如from、to、subject、text等等,SimpleMailMessage只能用来发送text格式的邮件 。

 然后我们来测试一下

  1. package com.example.springboot_javaemail;
  2. import com.example.springboot_javaemail.service.SendMailService;
  3. import org.junit.jupiter.api.Test;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.boot.test.context.SpringBootTest;
  6. @SpringBootTest
  7. class SpringbootJavaemailApplicationTests {
  8. @Autowired
  9. private SendMailService service;
  10. @Test
  11. void contextLoads() {
  12. service.SendMail();
  13. }
  14. }

 

可以看到,成功发送邮件。 


 

总结

本文仅仅说了发送简单文本邮件,学起来还是比较简单的,有不足的地方请指出!谢谢各位的观看!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/95427
推荐阅读
相关标签
  

闽ICP备14008679号