我需要将电子邮件内容从hbase写入.html文件格式。我在java对象中拥有所有电子邮件数据。我正在使用java.email lib。但是面临将多部分图像MimeMessage写入.html文件的问题。 我在html中嵌入了如下图像。我尝试了没有数据源的不同方法,这些是下面代码中的注释行。
MimeMessage mimeMessage = outlookMsg.toMimeMessage();
mimeMessage.setFrom("abc@gmail.com");
mimeMessage.setRecipients(RecipientType.TO, "xyz@gmail.com");
mimeMessage.setSubject("story completion");
MimeMultipart multipart = new MimeMultipart("related");
// first part (the html)
MimeBodyPart messageBodyPart = new MimeBodyPart();
String htmlText = "<H1>Hello</H1><img src=\"cid:image\"/>";
messageBodyPart.setContent(htmlText, "text/html");
// add it
multipart.addBodyPart(messageBodyPart);
// second part (the image)
messageBodyPart = new MimeBodyPart();
DataSource fds = new FileDataSource(new File("D:\\JAVA\\Practice_Workspace\\pst\\krishna_radha.jpg"));
messageBodyPart.setDataHandler(new DataHandler(fds));
//messageBodyPart.setHeader("Content-ID", "<image>");
messageBodyPart.setContentID("<image>");
messageBodyPart.setDisposition(MimeBodyPart.INLINE);
//messageBodyPart.attachFile("D:\\JAVA\\Practice_Workspace\\pst\\krishna_radha.jpg");
mimeMessage.setContent(multipart);
File file = new File("D:\\JAVA\\Practice_Workspace\\pst\\htmlemail.html");
//OutputStream os = new FileOutputStream(file);
FileOutputStream os = new FileOutputStream(file);
mimeMessage.writeTo(os);
os.flush();
os.close();
我的输出如下。图像未显示。
请帮忙。提前谢谢。