![](/img/trans.png)
[英]Embedded images (inline) within html body in email showing as attachment
[英]Sending inline images in email showing an attachment icon before clicking on the email?
我正在使用下面的代码向用户发送电子邮件,它可以正常工作。 图像显示在电子邮件的html中。 但最近注意到,在单击电子邮件之前,还会显示一个附件图标。 这是一个小问题,但有点烦人。 很难理解为什么会发生这种情况以及如何阻止它? 有任何想法吗? 谢谢。
public static void send(String useremail, String htmlBody,Map<String, String> mapInlineImages, String subject, String internetAddress, String websiteFrom) throws MalformedURLException{
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
String msgBody = "...";
try {
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(internetAddress, websiteFrom));
msg.addRecipient(Message.RecipientType.TO,new InternetAddress(useremail, "Admin"));
msg.setSubject(subject);
msg.setText(msgBody);
MimeBodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent(htmlBody, "text/html");
Multipart multipart = new MimeMultipart("related");
multipart.addBodyPart(messageBodyPart);
if (mapInlineImages != null && mapInlineImages.size() > 0) {
Set<String> setImageID = mapInlineImages.keySet();
for (String contentId : setImageID) {
MimeBodyPart imagePart = new MimeBodyPart();
imagePart.setHeader("Content-ID", "<" + contentId + ">");
imagePart.setDisposition(MimeBodyPart.INLINE);
String imageFilePath = mapInlineImages.get(contentId);
try {imagePart.attachFile(imageFilePath);
} catch (IOException ex) {ex.printStackTrace();
}multipart.addBodyPart(imagePart);}}
msg.setContent(multipart);
Transport.send(msg);
} catch (AddressException e) {}
catch (MessagingException e) {}
catch (UnsupportedEncodingException e) {}
}
添加imagePart.addHeader("Content-Type", "image/jpeg");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.