1. 导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2. 配置yml
spring:
mail:
username: xxxxxx@qq.com
#授权码
password: zlrrousjcapdddda
#邮件发送服务器 QQ的为smtp.qq.com 网易的为smtp.163.com
host: smtp.qq.com
3. 编写邮件工具类
@Component
public class SendMail {
@Resource
JavaMailSenderImpl mailSender;
public void sendSimpleMail(String from,String to,String subject,String text) {
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom(from);
message.setTo(to);
message.setSubject(subject);
message.setText(text);
mailSender.send(message);
}
public void sendComplexMail(String from, String to, String subject, String text, List<FileAttachment> list) throws MessagingException {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
helper.setFrom(from);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(text);
for (FileAttachment attachment : list) {
helper.addAttachment(attachment.getAttachmentFilename(),attachment.getFile());
}
mailSender.send(mimeMessage);
}
}
4. 附件类
@Data
@NoArgsConstructor
@AllArgsConstructor
public class FileAttachment {
private String attachmentFilename;
private File file;
}
5. 测试
@SpringBootTest
@RunWith(SpringRunner.class)
public class MailTest {
@Autowired
private SendMail sendMail;
@Test
public void mailSimple() {
sendMail.sendSimpleMail("xxxxxx@qq.com","yyyyyy@qq.com",
"美好的一天","狗东西");
}
@Test
public void mailComplex() throws MessagingException {
ArrayList<FileAttachment> attachments = new ArrayList<>();
FileAttachment attachment = new FileAttachment();
attachment.setAttachmentFilename("郑丹丹");
attachment.setFile(new File("C:\\Users\\zbx\\Desktop\\郑丹丹.jpg"));
sendMail.sendComplexMail("xxxxxx@qq.com","yyyyyy@qq.com",
"美好的一天","狗东西",attachments);
}
}