gpt4 book ai didi

java - MimeMessage 更改现有邮件上的 sendData

转载 作者:行者123 更新时间:2023-11-30 06:23:44 26 4
gpt4 key购买 nike

try (
FileInputStream input = new FileInputStream(source);
FileOutputStream output = new FileOutputStream(target);
) {
byte[] emlBytes = IOUtils.toByteArray(input);
Message mimeMessage = createMimeMessage(emlBytes);

String date = "Wed, 16 Oct 2013 11:25:07 +0200";
mimeMessage.setHeader("Date", date);
System.out.println(mimeMessage.getSentDate());
output.write(emlBytes);

} catch (MessagingException e) {
e.printStackTrace();

}

我必须更改现有电子邮件文件的发送日期。但执行后文件的日期与之前相同。它没有得到新的发送日期。我认为这是因为 mimeMessage 创建了一个新实例,但没有更改 emlBytes,但我必须在 output.write() 中传递 emlBytes 我不知道如何传递 mimeMessage 自定义的 emlBytes。我能做什么?

最佳答案

MimeMessage 不会更改数据的原始来源,因为它来自 InputStream。但是您可以使用 MimeMessage.writeTo 方法将更新的消息写入 OutputStream,例如,

mimeMessage.writeTo(output);

关于java - MimeMessage 更改现有邮件上的 sendData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47642870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com