【问题标题】:Add inline image in java mail sender在 java 邮件发件人中添加内联图像
【发布时间】:2013-12-20 02:48:13
【问题描述】:

在我的项目中,当我向 gmail 或 yahoo 邮件发送邮件时,我的图像作为内联图像绑定到正文部分。但是当我在 Outlook 中打开相同的邮件时,它会将该图像显示为附件并在正文部分显示空白。

MimeMessagePreparator messagePreparator = new MimeMessagePreparator() {             
    @Override
    public void prepare(MimeMessage mimeMessage) throws Exception {
        MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage,true);
        messageHelper.setTo("abc@xyz.com");
        messageHelper.setFrom("info@abc.com");
        messageHelper.setSubject("Test");   
        messageHelper.setText(text, true);
        FileSystemResource res = new FileSystemResource(new File(message_image_path));
        messageHelper.addInline("identifier1234", res);
    }
};

message_image_path 是我的图片路径,text 是我的 html 消息

【问题讨论】:

    标签: spring jakarta-mail


    【解决方案1】:

    嗯...我实际上并没有在其中看到问题,但我假设您在问为什么它不同。之所以不同,是因为它们是不同人编写的不同程序。没有什么要求以任何特定方式显示电子邮件。有关附件与内联的信息只是对邮件阅读器的提示。一些邮件阅读器会忽略这些提示。您对此无能为力。

    如果您试图让特定的邮件阅读器以特定方式显示邮件,最好的办法是在该邮件阅读器中撰写此类邮件,然后查看您撰写的邮件的结构并复制它与 JavaMail。当然,这可能并不意味着邮件会在其他邮件阅读器中按预期显示。

    最好的办法是保持简单。简单的 html,引用消息中包含的图像(多部分/相关消息),可能是实现您想要的最佳方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-11
      • 1970-01-01
      • 2023-03-29
      • 2017-09-18
      • 1970-01-01
      • 2011-07-26
      • 2011-06-08
      • 1970-01-01
      相关资源
      最近更新 更多