SpringBoot实现邮件发送
第一步
导入springBoot的mail启动器
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-mail -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
<version>2.5.7</version>
</dependency>
第二步
配置文件
spring:
mail:
username: 151853xxxx@qq.com #自己的邮箱
password: hcumnoeufqpnhfda # 授权码代替密码
host: smtp.qq.com
值得注意的是,我用的是QQ邮箱,首先要开启POP3/SMTP服务 (在QQ邮箱设置中)并获取授权码。
第三步
开始测试
@SpringBootTest
class SpringBootMailApplicationTests {
@Autowired
private JavaMailSenderImpl javaMailSender;
@Test
void contextLoads() {
//一个简单的邮件
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setSubject("simple mail message");//主题
mailMessage.setText("简单的文本"); //正文
mailMessage.setTo("151853xxxx@qq.com");
mailMessage.setFrom("151853xxxx@qq.com");
javaMailSender.send(mailMessage); //发送
}
@Test
void testMail() throws MessagingException {
//一个复杂的邮件
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
//开始组装复杂邮件
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
helper.setSubject("mime message");
helper.setText("<p style=\"color: red\"> 这是带颜色的</p>",true);
//添加附件
helper.addAttachment("恍恍惚惚.jpg",new File("C:\\Users\\admin\\Pictures\\Camera Roll\\0EDDADFC6D8890D1F60AEFA372EAA884.jpg"));
helper.setTo("151853xxxx@qq.com");
helper.setFrom("151853xxxx@qq.com");
javaMailSender.send(mimeMessage);
}