2016-09-18 68 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