Spring 启动 Base64 字符串作为邮件附件

Spring boot Base64 String as mail attachment

我将 PPTX 文件转换为 Base64 字符串,现在我想将此字符串用作电子邮件附件

我曾经使用这部分代码从本地路径发送文件并且它工作正常

   public void sendEmail(Mail email) throws MailException, MessagingException {

        MimeMessage message = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(message, true);
        helper.setTo(email.getEmail());
        helper.setText(email.getMessage());

        FileSystemResource file  = new FileSystemResource(email.getPath());
        helper.addAttachment("testfile.pptx", file);

        helper.setSubject(email.getSubject());
        javaMailSender.send(message);
    }

我必须change/add做什么才能将此 base64 字符串作为附件文件发送? .谢谢

我解决了

public void sendEmail(Mail email) throws MailException, MessagingException {

    MimeMessage message = javaMailSender.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(message, true);
    helper.setTo(email.getEmail());
    helper.setText(email.getMessage());
    byte[] doc = Base64.getDecoder().decode(email.getBase64());

    helper.addAttachment("doc.pptx", new ByteArrayResource(doc));

    helper.setSubject(email.getSubject());
    javaMailSender.send(message);
}