java – 发送附件时不显示正文消息
发布时间:2020-12-14 05:58:27 所属栏目:Java 来源:网络整理
导读:当我发送附件时,我在电子邮件中看不到正文消息(message.setText(this.getEmailBody());). 如果没有附件,电子邮件将显示正文消息.电子邮件将发送到Gmail帐户.任何线索为什么会发生这种情况? MimeMessage message = new MimeMessage(session_m); message.setF
|
当我发送附件时,我在电子邮件中看不到正文消息(message.setText(this.getEmailBody());).
如果没有附件,电子邮件将显示正文消息.电子邮件将发送到Gmail帐户.任何线索为什么会发生这种情况? MimeMessage message = new MimeMessage(session_m);
message.setFrom(new InternetAddress(this.getEmailSender()));
message.addRecipient(Message.RecipientType.TO,new InternetAddress(this.getEmailRecipient()));
message.setSubject(this.getEmailSubject());
message.setText(this.getEmailBody()); //This won't be displayed if set attachments
Multipart multipart = new MimeMultipart();
for(String file: getAttachmentNameList()){
MimeBodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.attachFile(this.attachmentsDir.concat(file.trim()));
multipart.addBodyPart(messageBodyPart);
message.setContent(multipart);
}
Transport.send(message);
System.out.println("Email has been sent");
解决方法
您需要使用以下内容:
// Create the message part
BodyPart messageBodyPart = new MimeBodyPart();
// Fill the message
messageBodyPart.setText(body);
messageBodyPart.setContent(body,"text/html");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
//Add the bodypart for the attachment(s)
// Send the complete message parts
message.setContent(multipart); //message is of type - MimeMessage
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
