<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
# 父项目中引入的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.4.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>5.3.3</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>jakarta.mail</artifactId>
<version>1.6.5</version>
<scope>compile</scope>
</dependency>
@EnableConfigurationProperties(MailProperties.class)
@Import({ MailSenderJndiConfiguration.class, MailSenderPropertiesConfiguration.class })
MailProperties 类中定义了可以在配置文件中配置的属性
MailSenderJndiConfiguration 类中 mailSender() 返回了 JavaMailSenderImpl - 是 JavaMailSender 的实现类实现了邮件发送的接口方法
spring.mail.username=
spring.mail.password=
spring.mail.host=smtp.qq.com
spring.mail.properties.mail.smtp.ssl.enable=true # qq邮箱需要配置ssl
# 注入JavaMailSenderImpl
@Autowired
JavaMailSenderImpl mailSender;
@Test
public void contextLoads1() {
# 发送简单的邮件
SimpleMailMessage message = new SimpleMailMessage();
message.setSubject("hello");
message.setText("hello email!");
message.setTo("123@qq.com");
message.setFrom("123@qq.com");
mailSender.send(message);
}
@Test
public void contextLoads2() throws MessagingException {
# 发送复杂的邮件 MimeMessageHelper 就是 MimeMessage 的包装器
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); # true表示支持HTML语法
helper.setSubject("hello");
helper.setText("<b style=‘color:red‘>hello mail</b>", true);
//发送附件
helper.addAttachment("1.jpg",new File(""));
helper.setTo("123@qq.com");
helper.setFrom("123@qq.com");
mailSender.send(mimeMessage);
}
原文:https://www.cnblogs.com/weizhiblog/p/14367732.html