Header header = new HeaderImpl();
header.addField(
DefaultFieldParser.parse("Content-Type: multipart/form-data; boundary=foo"));
message.setHeader(header);
Multipart multipart = new MultipartImpl("alternative");
multipart.setParent(message);
BodyPart p1 = new BodyPart();
Header h1 = new HeaderImpl();
h1.addField(DefaultFieldParser.parse("Content-Type: text/plain"));
p1.setHeader(h1);
p1.setBody(bodyFactory.textBody("this stuff"));
BodyPart p2 = new BodyPart();
Header h2 = new HeaderImpl();
h2.addField(DefaultFieldParser.parse("Content-Type: text/plain"));
p2.setHeader(h2);
p2.setBody(bodyFactory.textBody("that stuff"));
BodyPart p3 = new BodyPart();
Header h3 = new HeaderImpl();
h3.addField(DefaultFieldParser.parse("Content-Type: text/plain"));
p3.setHeader(h3);
p3.setBody(bodyFactory.textBody("all kind of stuff"));
multipart.addBodyPart(p1);
multipart.addBodyPart(p2);
multipart.addBodyPart(p3);
ByteArrayOutputStream out = new ByteArrayOutputStream();
DefaultMessageWriter writer = new DefaultMessageWriter();
writer.writeMultipart(multipart, out);
out.close();