SpringBoot学习之路---发送带附件的邮件
这篇博客简单记录一下,如何通过SpringBoot发送带附件的邮件
首先还是需要导入maven相关依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
接着SpringBoot在相关的自动配置类中帮我们导入一个组件:
@Bean
JavaMailSenderImpl mailSender(Session session) {
JavaMailSenderImpl sender = new JavaMailSenderImpl();
sender.setDefaultEncoding(this.properties.getDefaultEncoding().name());
sender.setSession(session);
return sender;
}
因此就可以直接注入使用JavaMailSenderImpl发送邮件即可。
在全局配置(application.yaml)配置属性:
测试类代码:
方法解释:
-
createMimeMessage():创建一个复杂的message对象,它的功能比以前的SimpleMimeMessage多 new MimeMessageHelper(mimeMessage, true): 由于MimeMessage没有发送附件的相应方法,所以需要借助工具类,而MimeMessageHelper就是这样一个工具类。它的构造方法有两个参数,第一个传入要操作的MimeMessage,第二个为是否支持multipart,我们都要发送附件了,那肯定要支持了。 **setXXX:**设置各种参数,略 mimeMessageHelper.addAttachment(“favicon.ico”,new File("/Users/air/Documents/favicon.ico")): 该方法作用,发送附件了,第一个参数是显示在邮件中的文件名称,第二个参数是File对象 javaMailSender.send(mimeMessage): 发送邮件。
接着看看是否发送成功:
bingo~~
