近期学习java后台开发,学到了springboot发送邮件。感觉这也算是一个很实用的知识点,就在这里总结下,方便以后用。也方便大家学习。
准备工作
- 1,有一点java基础和springboot基础
- 2,有163邮箱
步骤
- 1,用idea新建springboot项目,如果不知道怎么用idea新建springboot项目请自行百度
- 2,建好项目后在pom.xml文件中引入
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
- 3,在配置文件application.properties中添加如下配置
spring.mail.host=smtp.163.comspring.mail.username=你的163邮箱spring.mail.password=注意这里不是邮箱密码,而是SMTP授权密码spring.mail.port=25spring.mail.protocol=smtpspring.mail.default-encoding=UTF-8
上面提到的smtp的授权密码的获取下面给出图解

开启smtp权限.png

获取smtp授权密码.png
注意:你这里设置的授权密码就是商品配置信息中要输入的密码
- 4,下面上代码
package com.qcl;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.mail.SimpleMailMessage;import org.springframework.mail.javamail.JavaMailSenderImpl;import org.springframework.mail.javamail.MimeMessageHelper;import org.springframework.test.context.junit4.SpringRunner;import javax.mail.internet.MimeMessage;/** 小石头* 2501902696@qq.com* */@RunWith(SpringRunner.class)@SpringBootTestpublic class SpringbootJmsApplicationTests { @Test public void contextLoads() { } @Autowired private JavaMailSenderImpl mailSender; /** * 发送包含简单文本的邮件 */ @Test public void sendTxtMail() { SimpleMailMessage simpleMailMessage = new SimpleMailMessage(); // 设置收件人,寄件人 simpleMailMessage.setTo(new String[]{"2501902696@qq.com", "1587072557@qq.com"}); simpleMailMessage.setFrom("15611823564@163.com"); simpleMailMessage.setSubject("Spring Boot Mail 邮件测试【文本】"); simpleMailMessage.setText("这里是一段简单文本。"); // 发送邮件 mailSender.send(simpleMailMessage); System.out.println("邮件已发送"); } /** * 发送包含HTML文本的邮件 * * @throws Exception */ @Test public void sendHtmlMail() throws Exception { MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage); mimeMessageHelper.setTo("2501902696@qq.com"); mimeMessageHelper.setFrom("15611823564@163.com"); mimeMessageHelper.setSubject("Spring Boot Mail 邮件测试【HTML】"); StringBuilder sb = new StringBuilder(); sb.append("<html><head></head>"); sb.append("<body><h1>spring 邮件测试</h1><p>hello!this is spring mail test。</p></body>"); sb.append("</html>"); // 启用html mimeMessageHelper.setText(sb.toString(), true); // 发送邮件 mailSender.send(mimeMessage); System.out.println("邮件已发送"); }}
我这里是用单元测试直接跑的。下面看下接收到的效果

接收到测试发送的邮件.jpg
到此,我们就轻松的实现了批量发送邮件的代码了。用springboot做邮件发送是不是特别简单。
文章转载于:https://www.jianshu.com/p/2d90e98fa0f5
原著是一个有趣的人,若有侵权,请通知删除
还没有人抢沙发呢~