[英]Body content is not being sent while I am trying to send an email with attachment with main body content in Java methods of MimeMessage
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(fromEmail));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(toEmail));
message.setFileName("abc.xls");
message.setText("Fill the content:");
上面是我正在使用的代码的主要部分。 当我使用上面的代码时,在发送的邮件中看不到主体内容“填充内容”。 还有其他帖子和评论,其中包含一段有效的代码,可以使用MimeMultipart和MimeBodyPart类来解决。 但是没有任何地方可以解释上述代码为何无法正常工作的原因。
我还知道,使用setFileName不足以添加文件中存在的内容,它仅用于添加不包含内容的附件。
注意:我正在使用javax.mail-1.5.0.jar
您能否解释上述代码无法正常工作的原因?
提前致谢。
包含文本消息和一个或多个附件的邮件必须是MultiPart
邮件,因为那样构造邮件就可以使接收邮件的客户端理解它。
在您的简单示例中,您将不构建具有excel文件abc.xls
作为附件的邮件。 而是创建一个文本邮件,并告诉客户端该邮件的主体应命名为abc.xls
。 接收邮件客户端很可能会提供一个文本文件,其中包含内容Fill the content:
abc.xls
不恰当地命名为abc.xls
,否则将是空邮件的附件; 打开假定的Excel文件可能会导致Excel导入此文本文件。
TL; DR:使用MimeMultiPart
创建带有附件的邮件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.