当前位置: 首页 > 知识库问答 >
问题:

如何在java springboot中通过电子邮件发送HSSFWorkbook xls?

张星洲
2023-03-14

所以我有自己的java springboot代码,它用本地目录中的列表编写了一个excel电子表格。基本上,它只是在我想要的目录中获取文件列表,然后将目录中每个zip文件的内容列出到一个excel电子表格中。然后我使用FileOutputStream将XLS生成到另一个目录中。代码看起来像这样:

HSSFWorkbook workbook = new HSSFWorkbook();
Sheet sheet = workbook.createSheet("Test sheet");
/*
...
insert code to create the rows and cells of the workbook/sheet
...
*/

FileOutputStream fileOutputStream = new FileOutputStream("/test/random/excelspreadsheets")
workbook.write(fileOutputStream);
fileOutputStream.close();

因此,这会编写xls,生成它并将其保存到指定的目录中,但我的问题是,如何将其作为电子邮件发送,并带有主题cc、发件人、收件人,最重要的是作为电子邮件的附件发送到指定的我的电子邮件或朋友的电子邮件?过去一天我一直在为此挠头,不知道,这对我来说似乎很模糊。谢谢!

共有1个答案

宇文梓
2023-03-14

首先添加此依赖项

    <!-- Email -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-mail</artifactId>
        <version>${spring.boot.version}</version>
    </dependency>

然后,您可以使用以下服务发送此电子邮件

@Service
public class EmailService {
private JavaMailSender emailSender;

@Autowired
public EmailService(JavaMailSender emailSender) {
    this.emailSender = emailSender;
}

public void sendEmail() {

    String to = "recepient@gmail.com";
    String subject = "email subject";
    String text = "email text";

    MimeMessage message = emailSender.createMimeMessage();

    //TODO here convert your workbook to a xlsx file 
    File file = new File("yourFile.xlsx");
    if (file.exists() && !file.isDirectory()) {

        try {
            MimeMessageHelper helper = new MimeMessageHelper(message, true);
            helper.setTo(to);
            helper.setSubject(subject);
            helper.setText(text);

            helper.addAttachment("yourFile.xlsx", file);
        } catch (Exception ex) {
        System.out.println("Error");
        }
    }

    emailSender.send(message);
}
 类似资料:
  • 问题内容: 在我的中,我具有以下内容: 我的电子邮件代码: 当然,如果通过设置调试服务器,则可以在终端中看到该电子邮件。 但是,我实际上如何不将电子邮件发送到调试服务器,而是发送到user@gmail.com? 阅读你的答案后,让我弄明白一点: 你不能使用localhost(简单的ubuntu pc)发送电子邮件吗? 我认为在django 1.3中已经过时了,取而代之的是? 问题答案: 将电子邮件

  • 问题内容: 如何使用PHP发送带有图片的HTML格式的电子邮件? 我想要一个带有一些设置和HTML输出的页面,该页面通过电子邮件发送到一个地址。我该怎么办? 主要问题是附加文件。我怎样才能做到这一点? 问题答案: 非常简单,将图像保留在服务器上,然后将PHP + CSS发送给它们… 正是这一行告诉邮件发件人和收件人,该电子邮件包含(希望)格式正确的HTML,需要对其进行解释: 这是我获得信息的链接

  • 如何使用PHP发送带有图片的HTML格式的电子邮件? 我想有一个网页与一些设置和HTML输出,通过电子邮件发送到一个地址。我该怎么办? 主要问题是附加文件。我怎么能那样做?

  • 问题内容: 我正在尝试使用 Go通过gmail API 发送电子邮件,但我发现文档存在缺陷/令人困惑。有一次我没有看到收据字段或电子邮件正文。 我不需要上传任何内容,因此我发现简单上传,分段上传,可恢复的上传方法完全没有用。是否有任何清晰的演示(带有所需的数据/参数,例如cURL有效负载)? 顺便提一句,我不确定是否我是唯一一个想到这一点的人,但是除非有可用的库,否则Google api似乎在可用

  • 我被困在一个公司防火墙后面,它不允许我通过Java Mail API或Apache Commons电子邮件等传统方式发送电子邮件,甚至不允许我发送给公司内部的其他人(无论如何,这就是我想要的)。但我的Outlook 2010显然可以发送这些电子邮件。我想知道是否有办法通过Java代码自动化Outlook 2010,以便Outlook可以发送电子邮件?我知道像“mailto”这样的东西可以用来弹出带

  • 请让我知道通过邮件自动发送TestNG可电子邮件报告而不添加外部jar的最佳方式。