Automation 如何在java中将现有HTML文件的内容按原样发送到电子邮件正文中

Automation 如何在java中将现有HTML文件的内容按原样发送到电子邮件正文中,automation,report,cucumber,Automation,Report,Cucumber,是否有一种方法可以使用java发送电子邮件正文中的现有HTML文件 背景-对于我的cucumber selenium自动化测试框架,我使用cucumber HTML报告生成执行结果。对于每次运行,该报告将作为文件夹中的html文件生成。该报告包含执行情况的表格摘要。我希望此报告作为电子邮件正文的一部分发送(而不是作为附件) 到目前为止我所做的是——我尝试使用java邮件api。我能够使用google上提供的典型java mail api代码在电子邮件正文中发送html。但问题是收到的电子邮件丢失

是否有一种方法可以使用java发送电子邮件正文中的现有HTML文件

背景-对于我的cucumber selenium自动化测试框架,我使用cucumber HTML报告生成执行结果。对于每次运行,该报告将作为文件夹中的html文件生成。该报告包含执行情况的表格摘要。我希望此报告作为电子邮件正文的一部分发送(而不是作为附件)

到目前为止我所做的是——我尝试使用java邮件api。我能够使用google上提供的典型java mail 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);


在这方面,是否有人可以提供帮助或建议更好的解决方案?

您可以使用Jenkins CI工具构建和运行测试套件,并在执行完成后发送带有报告的电子邮件。我相信这是一种标准做法,Jenkins拥有所有支持此功能的插件和更多功能。

您可以使用Jenkins CI工具构建和运行测试套件,并在执行完成后发送带有报告的电子邮件。我相信这是一种标准做法,Jenkins拥有所有支持此功能的插件。

谢谢。我也可以和詹金斯一起发电子邮件。但问题是生成的报告具有这种结构。父报表文件夹>子文件夹--CSS、嵌入、字体、图像、js,然后是报表html文件。现在,如果我把这个html文件作为电子邮件发送;文件已发送,但会丢失所有格式,可能格式来自css、js、字体等文件夹。有没有一种方法可以在不丢失格式的情况下按原样读取html文件,然后发送?我也可以将报告作为附件发送电子邮件,但我希望报告内容在电子邮件正文中,而不是作为附件。任何进一步的帮助都非常感谢。我也可以和詹金斯一起发电子邮件。但问题是生成的报告具有这种结构。父报表文件夹>子文件夹--CSS、嵌入、字体、图像、js,然后是报表html文件。现在,如果我把这个html文件作为电子邮件发送;文件已发送,但会丢失所有格式,可能格式来自css、js、字体等文件夹。有没有一种方法可以在不丢失格式的情况下按原样读取html文件,然后发送?我也可以将报告作为附件发送电子邮件,但我希望报告内容在电子邮件正文中,而不是作为附件。如需进一步帮助,我们将不胜感激