当某人点击我网页上的“电子邮件”按钮时,将使用jQuery创建一个包含我网页数据的.eml文件。创建并单击了eml文件的隐藏链接,该文件下载到该人的计算机上。该人然后可以在Outlook中打开eml文件。但是,我希望eml在不首先下载的情况下直接在Outlook中打开。
将html文件内容放在一起:
var emailContent = "To: " + "\n";
emailContent += "Subject: " + emailSubject + "\n";
emailContent += "X-Unsent: " + 1 + "\n";
emailContent += "Content-Type: text/html" + "\n";
emailContent += "\n";
emailContent += "<!DOCTYPE html><html><body>";
emailContent += getTable();
emailContent += "</body></html>"
创建eml文件并链接并单击它:
var blob = new Blob([emailContent], {type:"text/html"});
var url = window.URL.createObjectURL(blob);
var fileName = "file.eml";
var hiddenLink = document.createElement("a");
hiddenLink.download = fileName;
hiddenLink.href = url;
hiddenLink.onclick = destroyClickedElement;
hiddenLink.style.display = "none";
document.body.appendChild(hiddenLink);
downloadLink.click();
现在,我不确定该怎么办。如何直接在Outlook中打开文件?
我尝试将document.location.href
设置为各种设置。
例如
document.location.href = "mailto:?subject=" + emailSubject + "&body=" + encodeURIComponent(emailContent);
但是他们没有用。
我应该添加创建eml文件的原因是因为这样做时,我无法使html内容正确显示在Outlook中:
document.location.href = "mailto:?subject=" + emailSubject + "&body=" + emailContent;
html标签不会呈现。