关于使用 apache 公共库的附件的 .INLINE 部分的快速问题。
基本上我应该通过邮件发送部分excel表,在邮件正文中显示所述部分,如果我没记错的话,应该这样写:
attachment.setDisposition(EmailAttachment.INLINE);
现在问题来了:使用我的代码,我可以轻松地发送只是附件的附件,如果它们是图像,我也可以将它们内联。
有什么方法可以获取xml文件的一部分,因为它是使用apache POI格式化的?(我发现了关于 VBA 的类似主题 - excel,但我有点需要在我的程序中实现这一点。如果可能的话,我想发送选择,因为它是格式化的,因为它非常好看,感谢 POI 。 )
最终结果应该类似于从邮件正文中出现的 xml 文件的选定单元格中复制/粘贴,但是,由于它不是图像,如果我只使用 .INLINE 语句,它将无法正确显示..I '甚至尝试对 JTable 组件进行快照,但没有任何有用的结果。
以下是发送电子邮件的代码(如果有帮助):
class SendEmail {
public SendEmail() {
// Create the attachment
EmailAttachment attachment = new EmailAttachment();
attachment.setPath("pathToFile");
attachment.setDisposition(EmailAttachment.INLINE);
attachment.setDescription("Xml File");
attachment.setName("file.ods);
// Create the email message
MultiPartEmail email = new MultiPartEmail();
email.setHostName("smtp.googlemail.com");
email.setSmtpPort(587);
email.setAuthenticator(new DefaultAuthenticator(
"gmailAccount", "gmailAccountPwd"));
email.setSSL(true);
try {
email.addTo("toRecipient");
email.setFrom("fromRecipient");
email.setSubject("Attached Mail Test");
email.setMsg("This line should be followed by something..hopefully");
// add the attachment
email.attach(attachment);
email.setTLS(true);
// send the email
email.send();
} catch (EmailException e) {
e.printStackTrace();
}
}
}
PS:请注意发送附件或内联图像没有问题..这是apache commons的限制还是我只是没有经验?(尽管 XD,后者仍然不在主题范围内)