我的目标是向服务器发送请求,并使用响应(采用EML格式)打开Outlook和Thunderbird,用户可以从中编辑电子邮件文本并将其发送出去。
我使用Java servlet通过以下标题生成响应(我认为这不重要):
Content-Type: message/rfc822
Content-Disposition: attachment; filename="email.eml"
问题是浏览器下载文件而不是直接在浏览器中打开它。我试过
Content-Disposition: inline; filename="email.eml"
但有同样的问题。我用IE10和Chrome 38测试过,两者都有类似的行为。
如果用户点击下载的文件,电子邮件应用程序会正确打开并且他们可以发送电子邮件,但下载的文件仍保留在磁盘上,从而产生大量垃圾。
有什么想法吗?
答案 0 :(得分:0)
我能想到的唯一替代解决方案是使用mailto协议。
https://tools.ietf.org/html/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吗?)。