导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
配置applicaion.yml
spring:
# 发送邮件配置
mail:
host: smtp.qq.com # 配置 smtp 服务器地址
port: 587 # smtp 服务器的端口
username: xxxxxxx@qq.com # 配置邮箱用户名(你的邮箱地址)
password: xxxxxxxxx # 配置申请到的授权码(邮箱的授权码)如何申请邮箱的授权码,自行百度哦
default-encoding: UTF-8 # 配置邮件编码
properties:
mail:
smtp:
socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂
debug: true
发送邮件的实现类
@Component
@Slf4j
public class EmailUtils {
@Autowired
JavaMailSender javaMailSender;
@Value("${spring.mail.username}")
String username;
public void sendHtml(String title, String html, String to) {
Long start=System.currentTimeMillis();
MimeMessage mailMessage = javaMailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mailMessage);
try {
helper.setFrom(username); // 必填
helper.setTo(to); // 必填
// helper.setBcc("密送人"); // 选填
helper.setSubject(title); // 必填
helper.setSentDate(new Date());//发送时间
helper.setText(html, true); // 必填 第一个参数要发送的内容,第二个参数:是不是Html格式。
javaMailSender.send(mailMessage);
Long end=System.currentTimeMillis();
System.out.println(String.format("发送总耗时:%S 毫秒",end - start ));
} catch (MessagingException e) {
log.error("发送邮件失败", e);
}
}
}
调用测试
@Service
public class EmailServiceImpl implements IEmailService {
@Autowired
private EmailUtils emailUtils;
@Override
public void sendEmail() {
String title = "发送邮件测试";
String content = "hello springboot测试邮件";
String to = "2020279822@qq.com";
emailUtils.sendHtml(title, content, to);
}
}
本次测试暂且到此了,下次测试一下如何发送附件呦