2016-09-18 14 views
1

有沒有一種方法可以使用java在電子郵件正文中發送現有HTML文件?如何將現有HTML文件的內容按原樣發送到電子郵件正文中使用java

背景 - 對於我的黃瓜硒自動化測試框架,我使用Cucumber HTML Report生成執行結果。報告生成爲每個運行文件夾中的html文件。該報告包含表格執行摘要。我希望將此報告作爲電子郵件正文的一部分發送(而不是作爲附件)。

我到目前爲止所做的 - 我嘗試使用java郵件API。我能夠使用谷歌提供的典型java郵件api代碼發送電子郵件正文中的html。但問題是收到的電子郵件失去了格式。桌子也失去了邊界和許多其他風格。我也試過使用詹金斯,但沒有運氣不能成功。

代碼片段:

StringWriter writer = new StringWriter(); 

    IOUtils.copy(new FileInputStream(new File("D:\\Research\\CucumberHTML\\target\\cucumber-html-reports\\feature-overview.html")), writer, "ISO-8859-1"); 

    // creates message part 
    MimeBodyPart messageBodyPart = new MimeBodyPart(); 
    messageBodyPart.setContent(writer.toString(), "text/html"); 

    // creates multi-part 
    Multipart multipart = new MimeMultipart(); 
    multipart.addBodyPart(messageBodyPart); 

    // sets the multi-part as e-mail's content 
    msg.setContent(multipart); // sends the e-mail 
    Transport.send(msg); 

Actualreport HowReportLooksWhenSentViaEmail

任何一個可以請幫助或建議在這方面更好的解決辦法?

回答

0

您可以使用Jenkins CI工具來構建和運行測試套件,並在執行完成後發送包含報告的電子郵件。我相信這是一個標準的做法,Jenkins擁有所有支持該功能和更多功能的插件。

+0

謝謝。我也可以發送電子郵件給詹金斯。但問題是報告產生了這樣的結構。父級報告文件夾>子文件夾 - CSS,嵌入,字體,圖像,js,然後報告html文件。現在,如果我發送這個HTML文件作爲電子郵件;文件被髮送,但它失去了所有的格式可能格式來自像CSS,JS,字體的文件夾。有沒有一種方式,HTML文件是按原樣閱讀而不會丟失格式併發送?我也可以發送帶有附件報告的電子郵件,但我希望報告電子郵件正文中的內容,而不是作爲附件。任何進一步幫助高度讚賞 – Mukund

相關問題