这是我的图片路径:<img src=\"cid:image\">
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(
"shaanrisecustomercare@gmail.com"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(
"smile.pavi3@gmail.com"));
message.setSubject("Order Confirmation - Your Order with Shaanrise.com ["
+ dm.getOrderTrackingId()
+ "] has been successfully placed!");
// This HTML mail have to 2 part, the BODY and the embedded image
//
MimeMultipart multipart = new MimeMultipart("related");
// first part (the html)
BodyPart messageBodyPart = new MimeBodyPart();
// second part (the image)
messageBodyPart = new MimeBodyPart();
DataSource fds = new FileDataSource
("D:\\latest codes\\shaanrise\\WebContent\\images\\company-logo.png");
messageBodyPart.setDataHandler(new DataHandler(fds));
messageBodyPart.setHeader("Content-ID","<image>");
// add it
multipart.addBodyPart(messageBodyPart);
// put everything together
message.setContent(multipart);
String orderrsds="<tr><td style='border:1px solid grey;'><label>"+dm.getTransactionId()+"</label></td>"+
"<td style='border:1px solid grey;'><label>"+dm.getProductDescription()+"</label></td><td style='border:1px solid grey;'><label>"+dm.getOrderDate()+"</label> </td>"+
"<td style='border:1px solid grey;'><label>"+dm.getExpectedDelivery()+"</label></td>"+
"<td style='border:1px solid grey;'><label>"+dm.getQuantity()+"</label></td>"+
"<td style='border:1px solid grey;'><label>"+dm.getPrice()+"</label></td>"+
"<td style='border:1px solid grey;'><label>50</label> </td>"+
"<td style='border:1px solid grey;'><label>"+dm.getOrderAmount()+"</label></td></tr></table></div>";
StringBuilder sb=new StringBuilder();
sb.append(EmailString.order);
sb.append(orderrsds);
String footr= EmailString.address;
footr.replace("${to}", dm.getCustomerName());
footr.replace("${shippingAddress}", dm.getShippingAddress());
sb.append(footr);
messageBodyPart.setContent(sb.toString(), "text/html; charset=ISO-8859-1");
message.setContent(sb.toString(),"text/html");
// messageBodyPart.setContent(EmailString.logo,"text/html");
// message.setText(sb.toString(), "text/html");
Transport.send(message);
} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
这是我的图片路径:<img src=\"cid:image\">
我的图片未在java Mail中加载。我在图像html页面中添加动态内容正在加载动态内容但图像未加载。
我面临问题,因为图像仅作为邮件发送。
答案 0 :(得分:1)
你的代码中有很多错误......
你创建两个MimeBodyParts但是将它们分配给同一个变量,第二个覆盖第一个。你需要两个变量,一个用于html部分,一个用于图像。
然后在将这些正文部分添加到multipart并将multipart设置为消息内容之后,通过使用html文本再次设置消息内容来覆盖它。
创建MimeBodyPart,使用setText设置html文本内容。将其添加到MimeMultipart。创建另一个MimeBodyPart,将内容设置为图像。将其添加到MimeMultipart。将MimeMultipart设置为消息的内容。