首页 > 解决方案 > 图像在从 Java 发送的电子邮件中不可见

问题描述

我必须从 Java 应用程序发送电子邮件。电子邮件内容是带有图像的 HTML 文件。当我在我的应用程序中加载时,我能够看到图像。但是在将其作为电子邮件发送后,我无法在电子邮件中看到 HTML 中的图像。我尝试将这些图像附加为内联图像。它不工作。我可以在附件中看到这些图像,但在内容/正文中看不到。请帮我。请看下面的代码。

        Map<String, String> inlineImages = new HashMap<String, String>();
        for (int co=0; co<attachments.size(); co++){
             inlineImages.put(Math.random()+"", "E:\\eclipse-workspace\\Demo\\src\\images\\EmailTemplatesOutput\\assets\\"+attachments.get(co));
        }

        // adds inline image attachments
        if (inlineImages != null && inlineImages.size() > 0) {
            Set<String> setImageID = inlineImages.keySet();

            for (String contentId : setImageID) {
                MimeBodyPart imagePart = new MimeBodyPart();
                imagePart.setHeader("Content-ID", "<" + contentId + ">");
                imagePart.setDisposition(MimeBodyPart.INLINE);

                String imageFilePath = inlineImages.get(contentId);
                try {
                    imagePart.attachFile(imageFilePath);
                } catch (IOException ex) {
                    ex.printStackTrace();
                }

                multipart.addBodyPart(imagePart);
            }
        }
            emailMessage.setContent(multipart);

在此处输入图像描述

标签: javahtmljakarta-mail

解决方案


推荐阅读