gpt4 book ai didi

java - 内联图像显示为附件 : JavaMail

转载 作者:行者123 更新时间:2023-12-02 09:00:29 26 4
gpt4 key购买 nike

我正在尝试发送包含内嵌图像的电子邮件,但图像作为附件而不是内嵌图像发送。

 MimeMessage mimeMessage = javaMailSender.createMimeMessage();
try {
String filename = "logo.jpeg";

mimeMessage.setFrom(new InternetAddress("Bridge"));
mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
mimeMessage.setSubject(subject);

MimeMultipart multipart = new MimeMultipart();

BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent(content, "text/html");

multipart.addBodyPart(messageBodyPart);
messageBodyPart = new MimeBodyPart();

DataSource fds = new ByteArrayDataSource(IOUtils.toByteArray(resourceFile.getInputStream()), MediaType.IMAGE_JPEG_VALUE);
messageBodyPart.setDataHandler(new DataHandler(fds));
messageBodyPart.setDisposition(MimeBodyPart.INLINE);
messageBodyPart.setFileName(filename);
messageBodyPart.setHeader("Content-ID", "<logoimg>");
messageBodyPart.setHeader("Content-Type", MediaType.IMAGE_JPEG_VALUE);

multipart.addBodyPart(messageBodyPart);

mimeMessage.setContent(multipart);
mimeMessage.saveChanges();

javaMailSender.send(mimeMessage);
} catch (MailException | MessagingException | IOException e) {
log.warn("Email could not be sent to user '{}'", to, e);
}

这是我的图像 HTML 代码:

<img width="100" height="50" src="|cid:logoimg|" alt="phoenixlogo"/>

我尝试了所有的多部分类型:“混合”、“相对”、“替代”,但无法使其工作。

这是相同的图像:enter image description here

最佳答案

您不需要内联图像,您需要引用附加图像的 html 正文。为此,您需要一条多部分/相关消息。请参阅JavaMail FAQ .

关于java - 内联图像显示为附件 : JavaMail,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60207475/

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