SpringBoot | 集成Java Mail

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

添加依赖:

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

 

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

# 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

 

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

@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=1001256

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

 

 

 

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

posted @ 2018-10-29 00:00  听说这是最长的名字了  阅读(438)  评论(0编辑  收藏  举报