uso el siguiente código para enviar el mensaje que envía mail.Text está funcionando bien pero el correo con el accesorio no está funcionando da la Exception.How para resolver esteMessagingExceptionIOException al enviar un mensaje en java?
javax.mail.MessagingException: IOException al enviar el mensaje; La excepción anidada es: javax.activation.UnsupportedDataTypeException: ningún objeto DCH para el tipo MIME multipart/mixed; boundary = "---- = _ Part_0_10430987.1294298904906" en com.sun.mail.smtp.SMTPTransport.sendMessage (SMTPTransport.java:676) en javax.mail.Transport.send0 (Transport.java:189) en javax.mail.Transport.send (Transport.java:118) en Gmailer.GMailSender.sendMailAttach (GMailSender.java:114) en SendMail.main (SendMail.java:22) causada por: javax.activation.UnsupportedDataTypeException : ningún objeto DCH para MIME tipo multipart/mixed; límite = "---- = _ Part_0_10430987.1294298904906" en javax.activation.ObjectDataContentHandler.writeTo (origen desconocido) en javax.activation.DataHandler.writeTo (origen desconocido) en javax.mail.internet.MimeBodyPart.writeTo (MimeBodyPart.java:1403) en javax.mail.internet.MimeMessage.writeTo (MimeMessage.java:1745) en com.sun.mail.smtp.SMTPTransport.sendMessage (SMTPTransport.java:636) ... 4 más
correo con código adjuntos:
public synchronized void sendMailAttach(String subject, String body,
String sender, String recipients) {
try {
MimeMessage message = new MimeMessage(session);
message.setSender(new InternetAddress(sender));
message.setSubject(subject);
// Create the message part
BodyPart messageBodyPart = new MimeBodyPart();
// Fill the message
messageBodyPart.setText("hi Demo");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
// Part two is attachment
messageBodyPart = new MimeBodyPart();
String filename = "mail.txt";
DataSource source = new FileDataSource(filename);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(filename);
multipart.addBodyPart(messageBodyPart);
// Put parts in message
message.setContent(multipart);
if (recipients.indexOf(',') > 0)
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(recipients));
else
message.setRecipient(Message.RecipientType.TO,
new InternetAddress(recipients));
Transport.send(message);
}
catch (MessagingException e) {
System.out.println("MessagingException" + e.getMessage());
}
catch (Exception e) {
System.out.println("Mail Send Exception " + e.getMessage());
}
}
texto de código Enviar correo:
public synchronized void sendMail(String subject, String body,
String sender, String recipients) throws Exception {
try {
MimeMessage message = new MimeMessage(session);
DataHandler handler = new DataHandler(new ByteArrayDataSource(
body.getBytes(), "text/plain"));
message.setSender(new InternetAddress(sender));
message.setSubject(subject);
message.setDataHandler(handler);
if (recipients.indexOf(',') > 0)
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(recipients));
else
message.setRecipient(Message.RecipientType.TO,
new InternetAddress(recipients));
Transport.send(message);
} catch (Exception e) {
}
}
Seguimiento de la pila es incompleta, por favor dé la completa. – Kartoch
Duplicado de http://stackoverflow.com/questions/1969667/send-a-mail-from-java5-and-java6 – dkarp