从bytearrayoutputstream向邮件添加附件

2022-04-01 00:00:00 java jakarta-mail

我正在尝试发送带有以下附件的电子邮件:

MimeMessageHelper message = new MimeMessageHelper(mimeMessage, false, CharEncoding.UTF_8);
InputStream is = new ByteArrayInputStream(baos.toByteArray());
message.addAttachment("facture.pdf",  new ByteArrayResource(IOUtils.toByteArray(is)));

我收到一个错误:

异常:不是在多部分模式下-创建 通过采用 如果您需要设置替代文本或添加内联,则使用‘MultiPart’标志 元素或附件。

有没有办法在保留addAttach方法的情况下使其正常工作?


解决方案

从MimeMessageHelper的文档看,您只需传递true标志。

MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, CharEncoding.UTF_8);

相关文章