我试图通过JavaScript动态创建的eml文件写一封电子邮件。
我修改这个代码我需要从另一个答案,但我不知道为什么Sensitivity
和Priority
头不工作当我打开文件与前景。在Outlook中,与rfc2156(公司设置或Outlook?)相比,我看到了不同命名的敏感级别:"公开"、"内部"、"保密"one_answers"严格保密"。我不确定这是否重要。
我已经尝试了所有可能的组合,有或没有双引号等,但到目前为止似乎没有设置标题。如果我在文本编辑器中阅读电子邮件,我可以看到它们,但当我在Outlook中打开文件时,我只看到应用了默认设置。
我使用的是Outlook版本2102。
const emailBody = "<html><body><b>hello</b> world</body></html>";
let emlHeader = "data:message/rfc822 eml;charset=utf-8,";
emlHeader += `From: guy1@mail.ion`;
emlHeader += `Subject: Sensitive messagen`;
emlHeader += `To: guy2@mail.ion`;
emlHeader += `Bcc: guy2@mail.ion`;
emlHeader += `Date: Sun, 10 Jul 2022 03:54:14 +0000n`;
emlHeader += "Priority: Urgentn";
emlHeader += "Sensitivity: Privaten";
emlHeader += "X-Unsent: 1n";
const emlString = `${emlHeader}nn${emailBody}`;
const emlContent = encodeURI(emlString); //encode spaces etc like an url
const a = document.createElement("a"); //make a link in document
a.href = emlContent;
a.id = "fileLink";
a.download = "filename.eml";
a.style = "display:none;"; // hidden link
document.body.appendChild(a);
document.getElementById("fileLink").click(); //click the link
PR_IMPORTANCE
(可能的值是IMPORTANCE_HIGH
、IMPORTANCE_NORMAL
IMPORTANCE_LOW
),你需要X-Priority
头1
值,2
,3
相应。您也可以设置X-MSMail-Priority
头(Outlook特定)为High
,Normal
,Low
。
对于PR_SENSITIVITY
(MAPI中可能的值为SENSITIVITY_PERSONAL
,SENSITIVITY_PRIVATE
,SENSITIVITY_COMPANY_CONFIDENTIAL
),需要将Sensitivity
header相应设置为Personal
,Private
,Company-Confidential
。