1.在Spring Boot的工程中的pom.xml中引入spring-boot-starter-mail依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2.以QQ郵箱爲例,在application.yml中加入如下配置(注意替換自己的用戶名和密碼):
spring:
mail:
host: smtp.qq.com
password: uriarqfegqchgcge
username: [email protected]
properties:
mail:
smtp:
auth: true
starttls:
enable: true
require: true
3.下面是發送郵件的單元測試用例:
import lombok.extern.slf4j.Slf4j;
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.core.io.FileSystemResource;
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;
import java.io.File;
@Slf4j
@SpringBootTest
@RunWith(SpringRunner.class)
public class SendExMailTest {
@Autowired
private JavaMailSender mailSender;
@Test
public void testSend() {
MimeMessage message = mailSender.createMimeMessage();
log.info("開始發送郵件");
MimeMessageHelper helper;
try {
helper = new MimeMessageHelper(message, true);
helper.setFrom("[email protected]");
helper.setTo("[email protected]");
helper.setSubject("test報告");
helper.setText("test", true);
FileSystemResource file1 = new FileSystemResource(new File("C:/Users/Administrator/Desktop/eee.png"));
helper.addAttachment("ees.png",file1);
FileSystemResource file2 = new FileSystemResource(new File("C:/Users/Administrator/Desktop/test.jpg"));
helper.addAttachment("test.jpg",file2);
helper.setText("<body>這是圖片:<img src='cid:aaa' /></body>", true);
FileSystemResource file3 = new FileSystemResource(new File("C:/Users/Administrator/Desktop/test.jpg"));
helper.addInline("aaa",file3);
mailSender.send(message);
log.info("郵件發送成功");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
參考鏈接:https://412887952-qq-com.iteye.com/blog/2305992