【发布时间】:2018-06-24 21:26:23
【问题描述】:
通过 Java 发送邮件时出现异常
例外是::
Exception in thread "main" java.lang.NoSuchMethodError:
com.sun.mail.util.LineOutputStream.<init>(Ljava/io/OutputStream;Z)V
at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1648)
at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1906)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1134)
at javax.mail.Transport.send0(Transport.java:255)
at javax.mail.Transport.send(Transport.java:124)
at com.yodlee.SendMail.sendMail(SendMail.java:78)
at com.yodlee.SendMail.main(SendMail.java:32)
这里是 Java 代码::
Properties props = new Properties();
props.put(SMTP_HOST_KEY,SMTP_HOST);
Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(".....",
"#.......");
}
});
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(RECIPIENT_FROM));
message.setSubject(SUBJECT);
message.setSentDate(new Date());
//message.setText("Test mails111");
MimeBodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent(data, "text/html");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
message.setContent(multipart);
Transport.send(message);
System.out.println("Done");
} catch (MessagingException e) {
status = -1;
throw new RuntimeException(e);
}
Transport.send(msg) 出现错误; 我在这里使用的罐子:: smtp 1.6.0, Javax Mail 1.4.7, mailactivation
【问题讨论】:
-
你设置mime类型了吗?
-
显然部件的顺序根据多部分 MIME 规范很重要,根据这个问题:stackoverflow.com/questions/14744197/…
标签: java email jakarta-mail