gpt4 book ai didi

java - 电子邮件中缺少消息,具体取决于正文部分添加的顺序

转载 作者:行者123 更新时间:2023-12-01 15:20:14 25 4
gpt4 key购买 nike

我遇到的问题是,当我在添加附件之前将电子邮件的消息正文部分添加到消息对象时,电子邮件正文不显示,但是当我在所有附件之后添加邮件正文部分时,它显示正常。

这很奇怪,但我有一封电子邮件正在尝试使用 JavaMail 发送。它包含电子邮件所需的所有常规内容(地址等)。您将在下面看到的“电子邮件”对象是一个 Javabean,它保存附件的 mimeBodyPart 以及邮件正文、主题等的 mimeBodyPart...

这是不起作用的代码(如上所述)

Multipart multipart = new MimeMultipart("alternative");
message.setSubject(email.getSubject());
multipart.addBodyPart(email.getContentBodyPart()); //This is the only line that moves
for (MimeBodyPart mimeBodyPart : email.getBodyParts()) {
multipart.addBodyPart(mimeBodyPart);
}
message.setContent(multipart);

这是有效的代码:

Multipart multipart = new MimeMultipart("alternative");
message.setSubject(email.getSubject());
for (MimeBodyPart mimeBodyPart : email.getBodyParts()) {
multipart.addBodyPart(mimeBodyPart);
}
multipart.addBodyPart(email.getContentBodyPart()); //This is the only line that moved
message.setContent(multipart);

如果您需要有关电子邮件 javabean 的更多信息,我会将其提供给您(或者您可以找到整个目标代码 here ),但我猜我只是缺少一些简单的东西。提前致谢。

最佳答案

只是为了向阅读本文的其他人澄清:如果您使用“替代”MimeMultipart,则其所有部分都应该是相同内容的替代版本。另外,根据相关 RFC,内容的首选版本应最后添加。在创建带有纯文本后备的 HTML 电子邮件时,您会经常这样做。这就是为什么他们在 JavaMail 文档中警告您阅读 RFC。

关于java - 电子邮件中缺少消息,具体取决于正文部分添加的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11042671/

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