SpringBoot | 集成Java Mail

Spring Boot 对Java mail 集成提供了自动配置的支持,只须要配置依赖以及在application.properties 里配置邮件信息便可。html

添加依赖:java

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
 </dependency>

 

在 src/main/resources/application.properties 中配置邮件信息:spring

# java email # 对应发送服务器的STMP服务器地址 spring.mail.host=smtp.qq.com # 发件人邮箱地址 spring.mail.username=*****@qq.com # stmp受权密码 spring.mail.password=***** # 设置端口号 QQ开放465/587 spring.mail.port=587 spring.mail.protocol=smtp spring.mail.default-encoding=UTF-8

 

测试 | 发送内嵌图片的邮件springboot

@Component public class SpendMail { @Autowired private JavaMailSenderImpl mailSender; public void sendAttachedImageMail() throws MessagingException { MimeMessage mimeMessage = mailSender.createMimeMessage(); // multipart模式
        MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true); // 对应发送服务器的地址
        mimeMessageHelper.setTo("*****@qq.com"); // 对应接受邮件地址
        mimeMessageHelper.setFrom("******@qq.com"); // 设置主题
        mimeMessageHelper.setSubject("测试【图片】"); // 构建HTML代码
        StringBuilder sb = new StringBuilder(); sb.append("<html><head></head>"); sb.append("<body><h1>登陆验证</h1><p>请在一个小时内验证。</p>"); // cid为固定写法,imageId指定一个标识
        sb.append("<img src=\"cid:imageId\"/></body>"); sb.append("</html>"); // 启用html
        mimeMessageHelper.setText(sb.toString(), true); // 设置imageId
        FileSystemResource img = new FileSystemResource(new File("D:/1.png")); mimeMessageHelper.addInline("imageId", img); // 发送邮件
 mailSender.send(mimeMessage); } }

 

 获取stmp受权密码 | QQ邮箱服务器

官方帮助文档:https://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256app

进入设置-》账户页面找到入口,按照如下流程操做。
(1)点击“开启”

 

 

 

借鉴博客:http://blog.720ui.com/2017/springboot_07_othercore_javamail/spring-boot

相关文章
相关标签/搜索