小编R. *_*mou的帖子

JavaMail 需要一个 InputStreamSource 来为每次调用创建一个新的流

我正在尝试通过 Spring 2.5 的 MailSender 使用 JavaMail 发送附件,但我不断收到此错误:

Passed-in Resource contains an open stream: invalid argument.
JavaMail requires an InputStreamSource that creates a fresh stream for every call.
Run Code Online (Sandbox Code Playgroud)

我正在使用InputStreamResource

InputStream crofileInputStream = emailDraft.getAttachmentCroFile().getInputStream();
InputStream nacfileInputStream = emailDraft.getAttachmentNacFile().getInputStream();
InputStream sourcefileInputStream = emailDraft.getAttachmentSourceFile().getInputStream();

InputStreamSource[] attachments = {new InputStreamResource(crofileInputStream),new InputStreamResource(nacfileInputStream),new InputStreamResource(sourcefileInputStream)};

sentEmailLog = mailSenderService.sendMIMEMessage(emailDraft, attachmentFileNames, attachments);
Run Code Online (Sandbox Code Playgroud)

最后一条指令调用 MimeMessageHelper.addAttachment(fileName,attachments[i])每个附件。

请问我怎么解决这个问题?

谢谢你的帮助。

spring jakarta-mail

3
推荐指数
1
解决办法
4731
查看次数

标签 统计

jakarta-mail ×1

spring ×1