I create a message:msg = new MimeMessage(session);MimeBodyPart mbp1 = new MimeBodyPart();mbp1.attachFile(f1);MimeBodyPart mbp2 = new MimeBodyPart();mbp2.attachFile(f2);MimeBodyPart mbp3 = new MimeBodyPart();mbp3.attachFile(f3);Multipart mp = new MimeMultipart();mp.addBodyPart(mbp1);mp.addBodyPart(mbp2);mp.addBodyPart(mbp3);msg.setContent(mp);...then send it:SMTPTransport transport = (SMTPTransport)session.getTransport();transport.connect();transport.sendMessage(msg, new Address[] { new InternetAddress(...)});and get MessagingException: IOException while sending messageUnsupportedDataTypeException: no object DCH for MIME type multipart/mixed: There is something wrong with MailCap, javamail can not find a handler for such multipart/mixed part. I solved this issue by adding this (before mail creation and delivery) MailcapCommandMap mc = (MailcapCommandMap) CommandMap.getDefaultCommandMap(); mc.addMailcap("text/html;; x-java-content-handler=com.sun.mail.handlers.text_html"); mc.addMailcap("text/xml;; x-java-content-handler=com.sun.mail.handlers.text_xml"); mc.addMailcap("text/plain;; x-java-content-handler=com.sun.mail.handlers.text_plain"); mc.addMailcap("multipart/*;; x-java-content-handler=com.sun.mail.handlers.multipart_mixed"); mc.addMailcap("message/rfc822;; x-java-content-handler=com.sun.mail.handlers.message_rfc822"); CommandMap.setDefaultCommandMap(mc); Note that JAF comes bundled in Java >= 6