Java 从bytearrayoutputstream向邮件添加附件
我正在尝试发送一封带有以下附件的电子邮件:Java 从bytearrayoutputstream向邮件添加附件,java,jakarta-mail,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.toByte
MimeMessageHelper message = new MimeMessageHelper(mimeMessage, false, CharEncoding.UTF_8);
InputStream is = new ByteArrayInputStream(baos.toByteArray());
message.addAttachment("facture.pdf", new ByteArrayResource(IOUtils.toByteArray(is)));
我得到一个错误:
java.lang.IllegalStateException:不在多部分模式下-创建
通过采用
如果需要设置替代文本或添加内联文本,“multipart”标志
元素或附件
有没有办法让addAttachment方法保持有效?的文档中显示,您只需传递一个
true
标志
MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, CharEncoding.UTF_8);
必须将multipart模式指定为构造函数的第二个参数。 多部分模式有多种选择:
- 多部分\u模式\u编号
- 多部分模式混合
- 多部分模式相关
- 多部分\u模式\u混合\u相关
public MimeMessageHelper(MimeMessage mimeMessage,
int multipartMode,
String encoding)
throws MessagingException
其不同之处在于要求使用整数约束(上面的一个约束)而不是布尔约束