0
포럼에서 도움을 요청한 지 오래되었지만 잠깐 동안 나는이 문제로 며칠 동안 고생했습니다.야후 메일을 통해 멀티 파트 메일을 보내면 javax.activation.UnsupportedDataTypeException이 발생합니다. MIME 유형 multipart/mixed에 대한 개체 DCH가 없습니다.
모든 포럼을 읽으면 모든 ppl이 변경되었지만 변경되지 않았습니다.
여기 내 코드입니다
내가 잘못하고있는 것은 무엇입니까? 나는 텍스트 MSG를 등록
// Get system properties
Properties properties = System.getProperties();
// Setup mail server
properties.put("mail.smtp.starttls.enable", "true");
properties.put("mail.smtp.host", mailHost);
properties.put("mail.smtp.user", mailUserName);
properties.put("mail.smtp.password", mailPassword);
properties.put("mail.smtp.port", "587");
properties.put("mail.smtp.auth", "true");
// Get the default Session object.
Session session = Session.getDefaultInstance(properties);
try{
// Create a default MimeMessage object.
MimeMessage message = new MimeMessage(session);
// Set From: header field of the header.
message.setFrom(new InternetAddress(mD.mailUserName));
// Set To: header field of the header.
message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
Multipart multiPart = new MimeMultipart();
MimeBodyPart textPart = new MimeBodyPart();
textPart.setText("This is actual message", "text/html; charset=utf-8");
MimeBodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent(html, "text/html; charset=utf-8");
multiPart.addBodyPart(textPart);
multiPart.addBodyPart(htmlPart);
message.setContent(multiPart);
// Send message
Transport transport = session.getTransport("smtp");
transport.connect(mD.mailHost,mD.mailUserName,mD.mailPassword);
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
Thread.currentThread().setContextClassLoader(javax.mail.Session.class.getClassLoader());
try
{
message.setContent(multiPart);
//transport.sendMessage(message, message.getAllRecipients());
Transport.send(message, message.getAllRecipients());
}
catch (MessagingException e)
{
e.printStackTrace();
}
finally
{
Thread.currentThread().setContextClassLoader(classLoader);
}
transport.close();
}
catch (MessagingException mex)
{
mex.printStackTrace();
}
와우 빌은 자바 메일의 마스터처럼 보입니다. – amnon
와우 빌은 자바 메일의 마스터처럼 보입니다. 나는 내가 만든 애플리케이션에서이 클래스를 사용하지 않는다. 그것은 하나의 부품을 보내기 위해 그것을 사용하고있을 때 잘 작동합니다. 코어가 문제 (하지만 mybee u r right)로 고통을 겪고 있지만 멀티 파트로 인해 문제가 발생하는 것은 확실하지 않습니다. classLoader 로더없이 실행해도되지만 변경은 필요 없습니다. – amnon
이 명령은 "java"명령을 사용하여 명령 줄에서 실행되는 독립 실행 형 응용 프로그램입니까? 어떻게 CLASSPATH를 설정 했습니까? CLASSPATH에서 JavaMail jar 파일을 변경하지 않았습니까? –