【问题标题】:How to email an HTML file with external css and js using Java Mail API?如何使用 Java Mail API 发送带有外部 css 和 js 的 HTML 文件?
【发布时间】:2019-12-13 23:36:17
【问题描述】:

我有一个静态 HTML 页面,它在一些操作后生成。 HTML 文件包含 iframe、外部 CSS、JS、XML、HTML 文件。如何使用 Java 邮件 API 在邮件中发送准确呈现的 HTML?我知道我可以像

一样输入 HTML
message.setContent("<html><body><h1>This is actual message</h1></body></html>","text/html" ); 

但我想发送一个像

这样的html页面
message.setContent("index.html","text/html" );

index.html 包含外部 css、js、xml 文件。

【问题讨论】:

  • 是否存在加载外部 CSS 甚至加载和执行 JS 的实际电子邮件客户端?为了与邮件客户端具有良好的兼容性,我认为您必须内联 CSS,并且在 html 电子邮件中根本不使用 JS。

标签: java jakarta-mail html-email


【解决方案1】:

您可以像这样从文件中设置消息内容:

message.setDataHandler(new DataHandler(
            new FileDataSource("index.html", "text/html")));

请注意,许多邮件阅读器在显示邮件时不会访问外部 css 或图像。

JavaMail FAQ 有几个与发送 html 消息相关的条目,从 here 开始。这个guide to css support in email clients 也会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-28
    • 1970-01-01
    • 1970-01-01
    • 2020-02-12
    • 2016-02-14
    • 1970-01-01
    相关资源
    最近更新 更多