话不多说 直接上代码
首先在POM中引入依赖:
<!-- Spring-boot 邮件依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
接着在配置文件中配置需要的参数
或者使用bean方式进行配置
我在这里使用的bean方式
@Component
public class MailConfig {
@Bean
public JavaMailSender javaMailSender() {
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
mailSender.setHost("smtp.qq.com"); // QQ邮箱
mailSender.setUsername(""); // 邮箱账号
mailSender.setPassword(""); // 确认不是邮箱密码 而是登录自己的邮箱后配置
mailSender.setPort(465); // 端口
Properties props = mailSender.getJavaMailProperties();
props.put("mail.transport.protocol", "smtps");
props.put("mail.smtps.auth", "true");
props.put("mail.smtps.starttls.enable", "true");
props.put("mail.smtps.ssl.checkserveridentity", "false");
props.put("mail.smtps.ssl.trust", "*");
return mailSender;
}
}
接着创建一个controller来进行测试
@RestController
@RequestMapping("/emailTest")
public class emailTestController {
private final JavaMailSender javaMailSender;
public emailTestController(JavaMailSender javaMailSender) {
this.javaMailSender = javaMailSender;
}
static final String htmlMsg = "<html><body><h1>阿里嘎多美羊羊桑,沸羊羊八嘎呀罗!</h1><img src='cid:Logo.jpg'></body></html>";
@GetMapping("/send")
public boolean send() throws MessagingException {
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
helper.setFrom("发送人邮箱");
helper.setTo("接收人邮箱");
helper.setSubject("标题");
helper.setText(htmlMsg, true); // 文本内容
// 这里这是附件 我设置了一张图片
FileSystemResource res = new FileSystemResource(new File("src/main/resources/static/0.jpg"));
helper.addAttachment("滑稽.jpg", res);
try {
javaMailSender.send(mimeMessage);
} catch (MailException ex) {
System.err.println(ex.getMessage());
return false;
}
return true;
}
}
接下来看看效果
教程到此结束