如何设置eml文件Sensitivity/Priority头使其被Outlook正确识别
问题根因
Outlook对eml文件的解析遵循自有兼容逻辑,你当前代码里有多个不符合解析规则的问题,导致自定义头被直接忽略:
- 换行符不符合规范:标准eml要求头字段之间必须使用CRLF(即
\r\n)换行,你用的\n是Unix风格换行,Outlook解析头时会出现字段识别错位。 - 头字段取值不合法:
Priority字段RFC标准取值仅支持1(最高优先级)、3(普通)、5(最低),你写的Urgent不是合法枚举值;且Outlook会同时校验X-Priority、X-MSMail-Priority两个专属扩展头判定优先级,缺省就会默认设为普通。Sensitivity字段RFC2156规定的合法取值只有Public、Personal、Private、Company-Confidential四个,你在Outlook界面看到的"internal"、"strictly confidential"是客户端/企业域配置的显示文案,不是头字段的实际传值,写自定义字符串不会被识别。
- 缺失必要MIME声明:你没有写
MIME-Version和Content-Type基础头,Outlook会触发容错解析逻辑,直接跳过非基础头的读取,所有自定义配置都会失效。 - Data URI格式错误:你写的MIME类型
message/rfc822 eml包含多余空格和字符,属于无效MIME类型,会加剧解析异常。
修正后可直接运行的代码
const emailBody = "<html><body><b>hello</b> world</body></html>"; let emlHeader = "data:message/rfc822;charset=utf-8,"; // 先加必填的MIME基础声明,所有换行统一用\r\n emlHeader += `MIME-Version: 1.0\r\n`; emlHeader += `Content-Type: text/html; charset=utf-8\r\n`; emlHeader += `From: guy1@mail.io\r\n`; emlHeader += `Subject: Sensitive message\r\n`; emlHeader += `To: guy2@mail.io\r\n`; emlHeader += `Bcc: guy2@mail.io\r\n`; emlHeader += `Date: Sun, 10 Jul 2022 03:54:14 +0000\r\n`; // 优先级配置:标准头+Outlook兼容扩展头,1/High对应紧急优先级 emlHeader += "Priority: 1\r\n"; emlHeader += "X-Priority: 1\r\n"; emlHeader += "X-MSMail-Priority: High\r\n"; // 敏感度配置:Company-Confidential对应Outlook里的最高机密级别 // 其他可选值:Public(普通)、Personal(个人)、Private(私密) emlHeader += "Sensitivity: Company-Confidential\r\n"; emlHeader += "X-Unsent: 1\r\n"; // 头和正文之间用空行分隔,空行同样使用\r\n const emlString = `${emlHeader}\r\n\r\n${emailBody}`; const emlContent = encodeURI(emlString); const a = document.createElement("a"); a.href = emlContent; a.id = "fileLink"; a.download = "filename.eml"; a.style = "display:none;"; document.body.appendChild(a); document.getElementById("fileLink").click();
补充说明
- 企业自定义的敏感度标签是Outlook/Exchange服务端层面的映射规则,eml文件本身只需要传入RFC标准的四个Sensitivity取值,导入后客户端会自动匹配对应企业配置的显示名称,不需要手动写界面上展示的自定义文案。
- 不要随意调整头字段的换行格式,头部分和正文部分必须保留且仅保留一个空行,否则会出现头字段被识别为正文内容的问题。
- 如果需要在主题、发件人名称里包含非ASCII字符(比如中文),需要对头字段内容单独做MIME编码,否则会出现乱码。
内容的提问来源于stack exchange,提问作者squirrel
相关产品推荐
相关产品推荐

