gpt4 book ai didi

java - 我的内联图像未在 java 邮件 API 中加载,并带有其他一些 HTML 内容

转载 作者:行者123 更新时间:2023-12-01 11:16:47 25 4
gpt4 key购买 nike

这是我的图像路径:<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 页面中附加动态内容,动态内容正在加载,但图像未加载。我面临问题,因为图像仅作为邮件发送。

最佳答案

您的代码中有很多错误...

您创建了两个 MimeBodyPart,但将它们分配给同一个变量,第二个覆盖第一个。您需要两个变量,一个用于 html 部分,一个用于图像。

然后,将这些正文部分添加到多部分并将多部分设置为消息内容后,您可以通过使用 html 文本再次设置消息内容来覆盖它。

创建一个MimeBodyPart,使用setText设置html文本内容。将其添加到 MimeMultipart。创建另一个MimeBodyPart,将内容设置为图像。将其添加到 MimeMultipart。将 MimeMultipart 设置为消息的内容。

关于java - 我的内联图像未在 java 邮件 API 中加载,并带有其他一些 HTML 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31724924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com