1.创建项目

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2.在yml文件中配置Email
spring:
mail:
host: smtp.qq.com #邮件服务器
username: @qq.com #发送邮件邮箱地址
password: wzvqfidbecaj #QQ客户端授权码
port: 587 #端口号465-smtps或587-smtp
from: @qq.com # 发送邮件的地址,和上面username一致
default-encoding: UTF-8
protocol: smtp
3.创建EmailService、EmailServiceImpl
package com.cn.config.utils.email;
public interface EmailService {
public void sendAttachmentsMail(String[] to, String subject, String content, String[] filePath);
}
@Service
@Slf4j
public class EmailServiceImpl implements EmailService {
@Resource
private JavaMailSender javaMailSender;
@Value("${spring.mail.from}")
private String from;
@Override
public void sendAttachmentsMail(String[] to, String subject, String content, String[] filePath) {
MimeMessage message = javaMailSender.createMimeMessage();
MimeMessageHelper messageHelper;
try {
messageHelper = new MimeMessageHelper(message,true);
messageHelper.setFrom(from);
messageHelper.setTo(to);
messageHelper.setSubject(subject);
messageHelper.setText(content,true);
for (String s : filePath) {
if (null!=s && !"".equals(s.trim())){
FileSystemResource file = new FileSystemResource(s);
String fileName = s.substring(s.lastIndexOf("/")+1);
messageHelper.addAttachment(MimeUtility.encodeWord(fileName,"utf-8","B"),file);
}
}
javaMailSender.send(message);
System.err.println("邮件加附件发送成功!");
} catch (MessagingException | UnsupportedEncodingException e) {
System.err.println("发送失败:"+e);
}
}
}
4.测试
package com.cn.test;
import com.cn.config.utils.email.EmailService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
public class EmailTest {
private String[] to =new String[]{"@qq.com","@qq.com"};
private String[] files = new String[]{"D:/**/**","F:/**/**"};
@Autowired
private EmailService emailService;
@Test
public void sendAttachment(){
emailService.sendAttachmentsMail(to,"这里是主题","这里是内容",files);
}
}