簡體   English   中英

我想將excel(xls / xlsx)文件嵌入電子郵件正文(而非附件)中

[英]I want to embed an excel(xls/xlsx) file in an email body(not attachment)

我想在電子郵件正文(而非附件)中嵌入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();
    }

您將需要解析xls / xlsx文件( Apache POI是一個很好的庫)並將其呈現為HTML(並將郵件的內容類型設置為text / html)。 您不能依賴於另一個電子郵件客戶端可以處理Microsoft文檔的假設,而圖像是非常常見的格式,並且大多數客戶端都支持圖像。 之所以顯示該圖片,是因為Gmail接收了該附件並將其放入郵件(然后顯示為HTML郵件)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM