1.导入Maven包
<!--对邮件的支持jar-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2.发送人信息的配置

发送邮件需要配置很多关于发送人的信息,Springboot对此已经通过MailSenderAutoConfiguration 类进行了基本的配置。
MailSenderAutoConfiguration 类:

这些基本属性又是通过MailProperties来获取
需要做的工作就是给上面的类配置我们自己的发件人相关信息。
添加配置文件:application.properties
application.properties:
# 设置邮箱主机(服务商)
spring.mail.host=smtp.qq.com
# 设置用户名
spring.mail.username=***@qq.com
# 设置密码,该处的密码是QQ邮箱开启SMTP的 **授权码** 而非QQ密码
spring.mail.password= qzbxiwjfrweecacf(邮件官网获取)
# 必须进行授权认证,它的目的就是阻止他人任意乱发邮件
spring.mail.properties.mail.smtp.auth=true
#SMTP加密方式:连接到一个TLS保护连接
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
准备完毕发送简单邮件****复杂邮件:
package cn.itsource.pethome.org.test;
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.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import javax.mail.internet.MimeMessage;
@SpringBootTest
@RunWith(SpringJUnit4ClassRunner.class)
public class EmailTest {
@Autowired
private JavaMailSender javaMailSender;
/**
* 发送简单邮件
*/
@Test
public void send(){
SimpleMailMessage mailMessage = new SimpleMailMessage();
//设置发送人
mailMessage.setFrom("****@qq.com");
//邮件主题
mailMessage.setSubject("新型冠状病毒防护指南");
//邮件内容
mailMessage.setText("好好在家待着.....");
//收件人
mailMessage.setTo(*****@qq.com");
//发送邮件
javaMailSender.send(mailMessage);
}
/**
* 发送复杂邮件
*/
@Test
public void test2() throws Exception{
//创建复杂邮件对象
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
//发送复杂邮件的工具类
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true,"utf-8");
//设置发送人
helper.setFrom("*******@qq.com");
//邮件主题
helper.setSubject("新型冠状病毒防护指南");
http://img30.360buyimg.com/popWaterMark/jfs/t1/67988/7/14094/232759/5db64acfE6ab2b09e/38b5cb3dc38b4b1f.jpg"
//邮件内容
helper.setText("<h1>新型冠状病毒防护守则</h1>"+
"<img src='http://img30.360buyimg.com/popWaterMark/jfs/t1/67988/7/14094/232759/5db64acfE6ab2b09e/38b5cb3dc38b4b1f.jpg\"' />",true);
//添加附件 照片和文件
//helper.addAttachment("罗宾.jpg",new File("C:\\Users\\hm\\Desktop\\work\\aa.jpg"));
//helper.addAttachment("压缩文件", new File("C:\\Users\\hm\\Desktop\\20191010\\2020-02-05-智能商贸-DAY4\\resources\\resources.zip"));
//收件人
helper.setTo("*****@qq.com");
//发送邮件
javaMailSender.send(mimeMessage);
}
}
本文介绍如何使用 Spring Boot 发送简单邮件及复杂邮件,包括配置邮件服务器、设置发送者信息、使用 JavaMailSender 接口发送文本与 HTML 格式的邮件。
1028

被折叠的 条评论
为什么被折叠?



