如何使用java库Jodd email将图像嵌入到电子邮件的html正文中



在Jodd电子邮件库的主页上http://jodd.org/doc/email.html关于如何使用库将图像嵌入(而不仅仅是将其作为文件附加)到即将发送的电子邮件中,有一个非常具体的示例。

不幸的是,包含图像的电子邮件部分的最终内容类型是:

Content-Type: application/octet-stream

但为了正确显示它,我们需要这种内容类型:

Content-Type: image/png

例如,如果您有一个png图像。

但我似乎找不到如何在Jodd电子邮件库中配置它。。

这就是我想要的。谢谢:)

如果您遵循Jodd站点中的示例,则使用方法embedFile()嵌入文件。此方法是的"快捷"方法

attach(new FileAttachment(file));

其中attach()是附加内容的中心通用方法FileAttachment依赖javax.mail设置内容类型,可能基于扩展。

因此,要手动设置内容类型,请使用通用的attach()方法。例如,像这样嵌入文件:

.embedFile("d:\c.xxx")

将内容类型设置为"应用程序/八位位组流",因为xxx扩展无法识别它。相反,您可以使用以下内容:

.attach(new ByteArrayAttachment(
FileUtil.readBytes("d:\c.xxx"), "image/png", "c.png", "c.png"))

无论文件名如何,都可以在其中手动设置内容类型。如果您不想加载文件字节,可以通过InputStream等。

另一个解决方案(如果您想继续使用embedFile)是检查您的mime类型设置。

注意:由于有许多附加内容的组合(字节、输入流、文件、内联…),所以在Jodd 3.4.1.中将重构附加方法。以便提供更便于开发人员使用的api。敬请关注;)

相关内容

  • 没有找到相关文章

最新更新