问题描述
这是我的图像路径: <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页面中添加动态内容。
我面临问题,因为图像仅以邮件形式发送。
1楼
您的代码中有很多错误...
您创建两个MimeBodyParts,但将它们分配给相同的变量,第二个覆盖第一个。 您需要两个变量,一个用于html部分,另一个用于图像。
然后,将这些正文部分添加到多部分并将多部分设置为消息的内容之后,可以通过使用html文本再次设置消息的内容来覆盖该部分。
创建一个MimeBodyPart,使用setText设置html文本内容。 将其添加到MimeMultipart。 创建另一个MimeBodyPart,将内容设置为图像。 将其添加到MimeMultipart。 将MimeMultipart设置为消息的内容。