我想在电子邮件正文中embedded一个excel(xls / xlsx)文件(不是附件)

我想在电子邮件正文(不是附件)中embedded一个excel(xls / xlsx)文件。 我尝试了下面的代码,但它作为附件来了。 当我尝试一个形象,它来到身体。 下面是代码。

class SendEmail { public SendEmail() { // Create the attachment EmailAttachment attachment = new EmailAttachment(); attachment.setPath("Filepath"); attachment.setDisposition(EmailAttachment.INLINE); attachment.setDescription("Excel File"); HtmlEmail email = new HtmlEmail(); email.setHostName("smtp.google.com"); email.setSmtpPort(465); email.setAuthenticator((javax.mail.Authenticator) new DefaultAuthenticator("Username", "Password")); email.setSSL(true); try { email.addTo("ToAddress"); email.setFrom("FromAddress"); email.setSubject("Attached Mail Test"); // add the attachment email.attach(attachment); email.setTLS(true); // send the email email.send(); } catch (EmailException e) { e.printStackTrace(); } } public static void main(String[] args) { new SendEmail(); } 

您将需要parsingxls / xlsx文件( Apache POI是一个很好的库),并将其呈现为HTML(并将邮件的内容types设置为text / html)。 您不能依靠另一个电子邮件客户端可以处理Microsoft文档的假设,而图像是相当常见的格式,并且受到大多数客户端的支持。 显示图像是因为Gmail将附件添加到邮件中(然后显示为HTML邮件)。