Olá pessoal,
Uso Javamail para envio de e-mail. Funciona perfeitamente quando usado no ambiente do Eclipse, mas se eu empacotar em um .jar ele gera um erro ao enviar, o que não faz muito sentido sendo que o código é exatamente o mesmo.
Alguém sabe o que pode estar acontecendo?
Valeu!
private static void send() throws MessagingException {
System.out.println("Sending mail...");
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.host", "server");
Session mailSession = Session.getDefaultInstance(props, null);
mailSession.setDebug(true);
Transport transport = mailSession.getTransport();
MimeMessage message = new MimeMessage(mailSession);
message.setSubject("HTML mail with images");
message.setFrom(new InternetAddress("edson@dominio.com.br"));
message.addRecipient(Message.RecipientType.TO, new InternetAddress("edson@dominio.com.br"));
//
// This HTML mail have to 2 part, the BODY and the embedded image
//
MimeMultipart multipart = new MimeMultipart("related");
// first part (the html)
BodyPart messageBodyPart = new MimeBodyPart();
String htmlText = "<H1>Hello</H1><img src=\"cid:image\">";
messageBodyPart.setContent(htmlText, "text/html");
// add it
multipart.addBodyPart(messageBodyPart);
// second part (the image)
messageBodyPart = new MimeBodyPart();
DataSource fds = new FileDataSource("C:\\temp\\logo.gif");
messageBodyPart.setDataHandler(new DataHandler(fds));
messageBodyPart.setHeader("Content-ID","<image>");
// add it
multipart.addBodyPart(messageBodyPart);
// put everything together
message.setContent(multipart);
transport.connect();
transport.sendMessage(message,message.getRecipients(Message.RecipientType.TO));
transport.close();
}
javax.activation.UnsupportedDataTypeException: no object DCH for MIME type multipart/related;boundary="----=_Part_0_10748354.1249932824934"
at javax.activation.ObjectDataContentHandler.writeTo(Unknown Source)
at javax.activation.DataHandler.writeTo(Unknown Source)
at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1350)
at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1683)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:585)
at TesteMail.teste3(TesteMail.java:99)
at TesteMail.main(TesteMail.java:26)
Exception in thread "main" javax.mail.MessagingException: IOException while sending message; nested exception is:
javax.activation.UnsupportedDataTypeException: no object DCH for MIME type multipart/related;boundary="----=_Part_0_10748354.1249932824934"
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:625)
at TesteMail.teste3(TesteMail.java:99)
at TesteMail.main(TesteMail.java:26)
Caused by: javax.activation.UnsupportedDataTypeException: no object DCH for MIME type multipart/related;boundary="----=_Part_0_10748354.1249932824934"
at javax.activation.ObjectDataContentHandler.writeTo(Unknown Source)
at javax.activation.DataHandler.writeTo(Unknown Source)
at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1350)
at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1683)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:585)
... 2 more