1 引包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2 配置邮箱
在application.properties文件中配置
#邮箱配置
spring.mail.from=123@qq.com //邮件从哪里发来的
spring.mail.host=smtp.qq.com //邮件服务器地址(如果是公司的话就是公司的服务器地址)
spring.mail.port=587 //邮箱端口号,每种类型的邮箱端口号都不同,可以百度
spring.mail.username=123@qq.com //用哪个账号登录QQ邮箱
spring.mail.password=123 //这个密码不是QQ密码,是发送短信后获取的验证码
spring.mail.protocol=smtp //协议:就是发送的协议
spring.mail.properties.mail.smtp.auth=true
配置:打开QQ邮箱——设置——账户
找到如下设置,将POP3/SMTP服务打开,并根据提示发送授权码,将授权码写在配置的spring.mail.password中就可即可
新建一个Test类,执行该Test类(获取方法),发送邮件成功
package com.compass.mail;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.test.context.junit4.SpringRunner;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
@SpringBootTest
@RunWith(SpringRunner.class)
public class MailTest {
//引入邮件发送器类
@Autowired
JavaMailSender javaMailSender;
//获取资源文件的from值
@Value("${spring.mail.from}")
private String from;
@Test
public void send(){
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
try {
MimeMessageHelper helper=new MimeMessageHelper(mimeMessage,true);
helper.setFrom(from);
//发送给谁
helper.setTo("244646130@qq.com");
//邮件标题
helper.setSubject("测试邮件的标题11");
//邮件正文
helper.setText("这是一个测试邮件的正文11");
//发送
javaMailSender.send(mimeMessage);
//抄送给谁
// helper.setCc();
} catch (MessagingException e) {
e.printStackTrace();
}
}
}