0

关于使用 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,后者仍然不在主题范围内)

4

0 回答 0