• 3.4 SpringBoot发送邮件


     

     

    spring官方提供了spring-boot-starter-mail来整合邮件发送功能,本质上还是利用了JavaMailSender类。

    首先我们要在项目中引入相关依赖

    1.     <parent >
    2.         <groupId> org.springframework.boot </groupId >
    3.         <artifactId> spring-boot-starter-parent </artifactId>
    4.         <version>1.4.1.RELEASE</version>
    5.     </parent >
    6.     <dependencies>
    7.         <!--邮件发送功能依赖-->
    8.         <dependency>
    9.             <groupId>org.springframework.boot</groupId>
    10.             <artifactId>spring-boot-starter-mail</artifactId>
    11.         </dependency>
    12.         <!--测试依赖-->
    13.         <dependency>
    14.             <groupId>org.springframework.boot</groupId>
    15.             <artifactId>spring-boot-starter-test</artifactId>
    16.         </dependency>
    17.     </dependencies>
    18. </project>

    application.yml配置如下

    1. spring:
    2.   mail:
    3.     protocol: smtp #smtp是邮件发送协议,pop3imap是邮件接收协议。因为我们要发送邮件,因此是smtp
    4.     host: smtp.126.com #邮件发送服务器的主机,这里采用的是126邮箱来发送邮件
    5.     port: 25 #邮件发送服务器的端口
    6.     auth: true #一般情况下,发送邮件都是要进行验证
    7.     username: tianshouzhi@126.com #邮件发送服务器的用户名
    8.     password: your password #密码

    新建com.tianshouzhi.springboot.Application类

    1. @SpringBootApplication
    2. public class Application {
    3.     public static void main(String[] args) {
    4.         SpringApplication.run(Application.class,args);
    5.     }
    6. }

    新建测试类EmailTest

    1. @RunWith(SpringJUnit4ClassRunner. class)
    2. @SpringBootTest(classes=Application. class)
    3. public class EmailTest {
    4.     @Autowired
    5.     private JavaMailSender javaMailSender;
    6.     @Test
    7.     public void testSend(){
    8.         SimpleMailMessage message = new SimpleMailMessage();
    9.         message.setFrom("tianshouzhi@126.com");//发送者.
    10.         message.setTo("592144098@qq.com");//接收者.
    11.         message.setSubject("测试邮件(邮件主题)");//邮件主题.
    12.         message.setText("这是邮件内容");//邮件内容.
    13.         javaMailSender.send(message);//发送邮件
    14.     }
    15. }

    这里是通过126邮箱发送给qq邮箱。发送效果如下:

    微信截图_20170611010142.png

    这里列出常见的几个邮件服务器的相关信息。因为我们是发送邮件,只需要关注smtp协议即可。

    163邮箱的收取邮件支持POP/IMAP两种协议,发送邮件采用SMTP协议,收件和发件均使用SSL协议来进行加密传输,采用SSL协议需要单独对帐户进行设置。采用SSL协议和非SSL协议时端口号有所区别,参照下表的一些常见配置组合:

    微信截图_20170611011441.png

    QQ截图20170611010830.png

    QQ截图20170611010856.png

  • 相关阅读:
    JavaScript 垃圾回收
    JavaScript 跳坑指南
    javaScript AJAX
    高效 JavaScript
    Java使用 Thumbnails 压缩图片
    Vue前端压缩图片
    JS input输入框字数超出长度显示省略号.....
    Vue图片浏览组件vviewer使用
    浏览器获取京东cookie
    图片在容器内水平垂直居中显示
  • 原文地址:https://www.cnblogs.com/pejsidney/p/9259767.html
Copyright © 2020-2023  润新知