gpt4 book ai didi

html - 在浏览器中下载的 EML 文件,而不是使用电子邮件应用程序内联打开

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:08:34 27 4
gpt4 key购买 nike

我的目标是向服务器发送请求,并通过响应(以 EML 格式)打开 Outlook 和 Thunderbird,用户可以从中编辑电子邮件文本并将其发送出去。

我正在使用 Java servlet 生成具有以下 header 的响应(我认为这无关紧要):

    Content-Type: message/rfc822
Content-Disposition: attachment; filename="email.eml"

问题是浏览器下载文件而不是直接在浏览器中打开文件。我试过

 Content-Disposition: inline; filename="email.eml"

但有同样的问题。我用 IE10 和 Chrome 38 进行了测试,两者都有相似的行为。

如果用户单击下载的文件,电子邮件应用程序会正确打开并且他们可以发送电子邮件,但下载的文件仍保留在磁盘上,产生大量垃圾。

有什么想法吗?

最佳答案

我能想到的唯一替代解决方案是使用 mailto 协议(protocol)。

https://www.rfc-editor.org/rfc/rfc2368

Mailto 允许您指定常用的电子邮件字段,例如正文、主题、发送地址等。

要自动打开电子邮件,请使用这段 JavaScript:

// Setting these here for the sake or readability.
var toaddress = "email@address.com";
var subject = "Subject Line";
var body = "Message contents here.\n\nNewlines work too";

window.location = "mailto:?to=" + encodeURIComponent(toaddress)
+ "&subject=" + encodeURIComponent(subject) + "&body="
+ encodeURIComponent(body);

使用它,您可以修改您的 servlet 以返回主题、正文和使用 AJAX 调用的地址,并在返回时执行上面的代码片段。

然而,请对此持保留态度,因为超出标准中所列内容的任何规范完全取决于所使用的电子邮件客户端(例如正文是否为 HTML?)。

关于html - 在浏览器中下载的 EML 文件,而不是使用电子邮件应用程序内联打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26300553/

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