EML文件浏览器下载,而不是与电子邮件应用程序打开内嵌(EML file downloaded in

2019-09-30 08:45发布

我的目标是请求发送到服务器,并与反应(在EML格式)打开Outlook和Thunderbird,从那里用户可以编辑电子邮件文本,并把它发送出去。

我使用Java servlet来生成响应(我想这应该不是问题)具有以下标题:

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

问题是,该浏览器下载文件,而不是直接在浏览器中打开它。 我试着用

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

但有同样的问题。 我用IE10和Chrome 38测试,都有类似的行为。

如果用户点击下载的文件,电子邮件应用程序的正确打开,他们可以发送电子邮件,但下载的文件保存在磁盘中生成大量的垃圾。

有什么想法吗?

Answer 1:

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

https://tools.ietf.org/html/rfc2368

邮寄地址允许你指定的平常邮件领域,如身体,主题,发送到地址等。

要自动获得邮件打开使用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?)。



文章来源: EML file downloaded in browser instead of opened inline with email app