如何将一个 MimeMultipart 添加到另一个?
How to add a MimeMultipart to another one?
这可能是一个非常愚蠢的问题,但我正在尝试撰写一封电子邮件,例如 suggested here
- multipart/mixed
- multipart/alternative
- text/html
- text/plain
- 附件 1
- 附件 2
所以我有
MimeMultipart altPart = new MimeMultipart("alternative");
BodyPart textPart = new MimeBodyPart();
textPart.setContent("someText", "text/plain");
altPart.addBodyPart(textPart);
BodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent("someHtml", "text/html");
altPart.addBodyPart(htmlPart);
MimeMultipart mixedPart = new MimeMultipart("multipart/mixed");
并且需要将 altPart
添加到 mixedPart
,但我不能,因为唯一的添加方法只接受 BodyPart
。什么鬼?
请注意,与 here 不同,我没有混淆包。
您需要使用 MimeBodyPart.setContent(Multipart mp)
方法将 MimeMultipart
包裹在另一个 MimeBodyPart
中。然后你可以将 MimeBodyPart
添加到 mixedPart
对象:
MimeMultipart alternativeMultipart = new MimeMultipart("alternative");
BodyPart textPart = new MimeBodyPart();
textPart.setContent("someText", "text/plain");
alternativeMultipart.addBodyPart(textPart);
BodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent("someHtml", "text/html");
alternativeMultipart.addBodyPart(htmlPart);
MimeBodyPart alternativeBodyPart = new MimeBodyPart();
alternativeBodyPart.setContent(alternativeMultipart);
MimeMultipart mixedMultipart = new MimeMultipart("mixed");
mixedMultipart.addBodyPart(alternativeBodyPart);
MimeBodyPart textPart1 = new MimeBodyPart();
textPart1.setContent("someOtherText", "text/plain");
mixedMultipart.addBodyPart(textPart1);
这可能是一个非常愚蠢的问题,但我正在尝试撰写一封电子邮件,例如 suggested here
- multipart/mixed
- multipart/alternative
- text/html
- text/plain
- 附件 1
- 附件 2
- multipart/alternative
所以我有
MimeMultipart altPart = new MimeMultipart("alternative");
BodyPart textPart = new MimeBodyPart();
textPart.setContent("someText", "text/plain");
altPart.addBodyPart(textPart);
BodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent("someHtml", "text/html");
altPart.addBodyPart(htmlPart);
MimeMultipart mixedPart = new MimeMultipart("multipart/mixed");
并且需要将 altPart
添加到 mixedPart
,但我不能,因为唯一的添加方法只接受 BodyPart
。什么鬼?
请注意,与 here 不同,我没有混淆包。
您需要使用 MimeBodyPart.setContent(Multipart mp)
方法将 MimeMultipart
包裹在另一个 MimeBodyPart
中。然后你可以将 MimeBodyPart
添加到 mixedPart
对象:
MimeMultipart alternativeMultipart = new MimeMultipart("alternative");
BodyPart textPart = new MimeBodyPart();
textPart.setContent("someText", "text/plain");
alternativeMultipart.addBodyPart(textPart);
BodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent("someHtml", "text/html");
alternativeMultipart.addBodyPart(htmlPart);
MimeBodyPart alternativeBodyPart = new MimeBodyPart();
alternativeBodyPart.setContent(alternativeMultipart);
MimeMultipart mixedMultipart = new MimeMultipart("mixed");
mixedMultipart.addBodyPart(alternativeBodyPart);
MimeBodyPart textPart1 = new MimeBodyPart();
textPart1.setContent("someOtherText", "text/plain");
mixedMultipart.addBodyPart(textPart1);