java - 我想在电子邮件正文(不是附件)中嵌入 excel(xls/xlsx) 文件

标签 java excel sendmail html-email

我想在电子邮件正文(不是附件)中嵌入 Excel(xls/xlsx) 文件。我尝试了下面的代码,但它作为附件出现。当我尝试使用图像时,它就会进入 body 。下面是代码。

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();
    }

最佳答案

您需要解析 xls/xlsx 文件(Apache POI 是一个很好的库)并将其呈现为 HTML(并将邮件的内容类型设置为 text/html)。您不能依赖另一个电子邮件客户端可以处理 Microsoft 文档的假设,而图像是非常常见的格式并且受到大多数客户端的支持。显示该图像是因为 Gmail 获取附件并将​​其放入邮件中(然后显示为 HTML 邮件)。

关于java - 我想在电子邮件正文(不是附件)中嵌入 excel(xls/xlsx) 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22833711/

相关文章:

Java应用程序设计建议: storing image

excel - Microsoft Access 查询 - 根据日期查找数据

python - django send_mail() 函数需要几分钟

java - 如何旋转JXImagePanel?

java - 按电源按钮不会调用 onPause

java - 回收器 View 未显示在 fragment 中

R - 对于 view_html() 我如何将限制更改为超过 100

excel - 带有填充零单元格的报告显示为#VALUE!在 Excel 中

linux - 发送邮件不起作用

java - 如何发送带有错误捕获和报告的 Java 邮件