2016-09-18 9 views
1

Javaを使用して電子メール本文にあるように既存のHTMLファイルを送信する方法はありますか?既存のHTMLファイルの内容をそのままJavaの電子メール本体に送信する方法

背景 - 私のキュウリセレンオートメーションテストフレームワークでは、実行結果を生成するためにCucumber HTML Reportを使用しています。レポートは、実行ごとにフォルダ内のhtmlファイルとして生成されます。レポートには、実行の表形式の要約が含まれています。このレポートを電子メール本文の一部として送信する(添付ファイルとしてではなく)。

これまでのこと - 私はJavaメールAPIを使用してみました。私は、Googleで利用可能な典型的な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

ありがとうございました。私はジェンキンと一緒にメールを送ることもできました。しかし、問題は、生成されたレポートは、そのような種類のstcutreを持っています。親レポートフォルダ>サブフォルダ - CSS、埋め込み、フォント、イメージ、js、そしてhtmlファイルをレポートします。今私は電子メールとしてこのhtmlファイルを送信します。ファイルは送信されますが、すべてのフォーマットが失われます。おそらく、フォーマットはcss、js、fontsなどのフォルダから行われます。書式を失うことなくHTMLファイルをそのまま読んで送信する方法はありますか?添付ファイルとしてレポートを添付した電子メールを送信することもできますが、添付ファイルではなく電子メール本文にレポートコンテンツを追加したいと考えています。それ以上のヘルプは非常に高く評価 – Mukund

関連する問題