我正在尝试使用 javamail 从网络应用程序发送电子邮件,并且发送的电子邮件没有正文和附件。我尝试过调试它,但我看不出有什么问题。 我正在使用 tomee+ 1.7 和 javamail 1.4.7。
这是我的代码:
// Msg body
session.setDebug(true);
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText("Attached are your query results");
messageBodyPart.addHeader("Content-Type", "text/html; charset=windows-1255");
messageBodyPart.addHeader("Content-Transfer-Encoding", "base64");
// attachment
LOG.info("Building attachment from file " + file.getName());
MimeBodyPart attachmentPart = new MimeBodyPart();
attachmentPart.attachFile(file);
attachmentPart.setFileName(file.getName());
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
multipart.addBodyPart(attachmentPart);
// Send message
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("Query report...");
message.setContent(multipart);
Transport.send(message);
LOG.info("Sent message successfully ...");
我收到的消息:
From: x@x.x
To: x@x.x
Message-ID: <371010179.1.1409738093141.JavaMail.root@claimqa01>
Subject: Query report...
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_Part_0_1099874708.1409738093124"
最佳答案
很抱歉提出旧话题,但我希望它能对某人有所帮助。
问题是您的类路径中有超过 1 个 java.mail jar。 例如,我在 TomEE lib 文件夹中有一个名为 geronimo javamail 1.4 jar,其中包含 java 邮件的类。您可能认为您使用的是最新版本的java.mail,但这是错误的
关于javamail不发送邮件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25626301/