内容介绍

本文介绍两种方式发送email文件

  • spring boot 整合 email 发送文件

  • spring boot 利用hutool 整合email 发送文件

前提

发送email文件需要开启pop

springboot hutool整合email的方法是什么-LMLPHP

spring boot 整合email 发送文件

导入依赖

<!--spring mail start-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>
登录后复制

配置文件

spring:
    mail:
        default-encoding: utf-8
        host: smtp.aliyun.com
        username: 邮箱账号
        password:  密码
登录后复制

发送邮件测试

package com.example.easypoi.rest;

import lombok.RequiredArgsConstructor;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.util.List;

/**
 * @author ccubee
 * @since 2021/12/31 14:37
 */
@RestController
@RequestMapping("poi")
@RequiredArgsConstructor
public class ExcelRest {
    private final JavaMailSender javaMailSender;

    @GetMapping("bootSend")
    public String bootSend() {
        MimeMessage message = javaMailSender.createMimeMessage();
        MimeMessageHelper messageHelper = null;
        try {
            messageHelper = new MimeMessageHelper(message, true, CharsetUtil.UTF_8);
            messageHelper.setTo("[email protected]");
            messageHelper.setFrom("[email protected]");
            messageHelper.setSubject("subject");
    //        messageHelper.addAttachment( "book.xls", file);
            // true 表示启动HTML格式的邮件
            messageHelper.setText("<html><head></head><body><h2>测试</h2></body></html>", true);
            javaMailSender.send(message);
        } catch (MessagingException e) {
            e.printStackTrace();
        }
        return "成功";
    }

}
登录后复制

spring boot 利用 hutool 整合email 发送email文件

导入依赖

Hutool对所有第三方都是可选依赖,因此在使用MailUtil时需要自行引入第三方依赖。
旧版

<dependency>
    <groupId>com.sun.mail</groupId>
    <artifactId>javax.mail</artifactId>
    <version>1.6.2</version>
</dependency>
登录后复制

新版

<dependency>
  <groupId>com.sun.mail</groupId>
  <artifactId>jakarta.mail</artifactId>
  <version>1.6.7</version>
</dependency>
登录后复制

也可以直接daoru spring boot email依赖

  <!--spring mail start-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>
登录后复制

配置文件

在classpath(在标准Maven项目中为src/main/resources)的config目录下新建mail.setting文件,最小配置内容如下,在此配置下,smtp服务器和用户名都将通过from参数识别:
form user都是发送文件地址
阿里云邮箱的 user是邮箱的完整地址,即 [email protected]

springboot hutool整合email的方法是什么-LMLPHP

# 邮件服务器的SMTP地址,可选,默认为smtp.<发件人邮箱后缀>
host = smtp.yeah.net
# 邮件服务器的SMTP端口,可选,默认25
port = 25
# 发件人(必须正确,否则发送失败)
from = [email protected]
# 用户名,默认为发件人邮箱前缀
user = hutool
# 密码(注意,某些邮箱需要为SMTP服务单独设置授权码,详情查看相关帮助)
pass = q1w2e3
登录后复制

测试

@GetMapping("testEmail")
public String send() {
    MailUtil.send("[email protected]", "测试", "邮件来自Hutool测试", false);
    return "ok";
}
登录后复制

也可以发送文件 ,参考 hutool 文档即可

以上就是springboot hutool整合email的方法是什么的详细内容,更多请关注Work网其它相关文章!

09-16 00:47