email - Outlook 2016:一些电子邮件以中文正文到达
问题描述
偶尔我们的一位用户会收到一封来自已知来源的电子邮件,并且电子邮件正文的字符将是中文而不是英文。它们不会都是中文,而是中文和一些随机字符的混合体,像这样:
《格浴㹬†格慥㹤††䴼呅⁁瑨灴攭留癞∽潃瑮湥祔数•潣瑮湥㵴琢硥⽴瑨汭※档牡敳㵴瑵ⵦ㘱㸢†††洼瑥瑨灴攭留癞∽潃瑮湥祔数•潣瑮湥㵴琢硥⽴瑨汭※档牡敳㵴ⵏ㠸㤵ㄭ㸢††琼莹莹敬刾捩敫⁹潲慭狝潲效獡䐠汥癞牥摥够畯汆睯牥牏䜠晩㱴琯莹敬ാ㰠栯慥㹤†戼挚⁹杢潣潬㵲⌢晦晦㸢††琼扡敬眠摩”
它似乎只发生在一两个用户身上,而且不是每个发件人 - 事实上,发件人的一封电子邮件可能很好,下一封可能是这样的。编码似乎很好,但我们不知道还能去哪里看。另一件事 - 我们有梭子鱼作为我们的电子邮件过滤器。如果我们首先查看梭子鱼中的一封问题电子邮件,它是英文的。客户端好像改成中文了。
我们有一个本地 Exchange 2016 服务器,Outlook 2016 作为邮件客户端,操作系统是 Windows 10。谢谢!
解决方案
我可以告诉你发生了什么,虽然我不能告诉你为什么。
我将您的字符串保存到文本文件中。我创建了一个小的 Excel 宏来读取该文件并以十六进制显示字符:
683C 6D74 3E6C 0A0D 2020 683C 6165 3E64 0A0D 2020 2020 4D3C 5445 2041 7468 7074 652D 7571
7669 223D 6F43 746E 6E65 2D74 7954 6570 2022 6F63 746E 6E65 3D74 7422 7865 2F74 7468 6C6D
203B 6863 7261 6573 3D74 7475 2D66 3631 3E22 0A0D 2020 2020 6D3C 7465 2061 7468 7074 652D
7571 7669 223D 6F43 746E 6E65 2D74 7954 6570 2022 6F63 746E 6E65 3D74 7422 7865 2F74 7468
6C6D 203B 6863 7261 6573 3D74 5349 2D4F 3838 3935 312D 3E22 0A0D 2020 2020 743C 7469 656C
523E 6369 656B 2079 6548 6F72 616D 736E 4820 7361 4420 6C65 7669 7265 6465 5920 756F 2072
6C46 776F 7265 2073 724F 4720 6669 3C74 742F 7469 656C 0D3E 200A 3C20 682F 6165 3E64 0A0D
2020 623C 646F 2079 6762 6F63 6F6C 3D72 2322 6666 6666 6666 3E22 0A0D 2020 2020 743C 6261
656C 7720 6469
每对十六进制数字代表一个有效的 ASCII 字符。第四个字符是“0A0D”或“换行回车”。这应该是“回车换行”。不知何故,有效的 ASCII 电子邮件正文已被解释为 little-endian UTF-16 电子邮件正文。如果将这些字符拆分并反转它们,您会得到:
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-16">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Rickey Heromans Has Delivered Your Flowers Or Gift</title>
</head>
<body bgcolor="#ffffff">
<table wid
我对 Html 的了解并没有扩展到了解定义两个字符集的重要性,尽管看起来第一个字符集已被遵守。所有其他标签(html、head、meta、title、body 和 table)都是小写的,所以我的猜测是在<META http-equiv="Content-Type" content="text/html; charset=utf-16">
某处添加了不正确的标签。
希望这可以帮助。
推荐阅读
- typescript - 打字稿如何比较两个类
- javascript - 我想过滤数组中的数组并返回满足条件的每个元素
- .net - ASP.net:如何从 CreateHostBuilder() 中登录?
- vue.js - Vuetify data-table body.append slot 移动断点
- javascript - 是否有为 safari 14 创建自定义下载链接的解决方法?
- python - 带有列表的 Python 字典:获取包含特定索引处最大值的列表的键
- c# - 从无序点绘制多边形
- c - 静态分析类型字符
- python-3.x - ValueError: Layersequential_2 需要 1 个输入,但它接收到 2 个输入张量。收到的输入
- python - 如何使 pandas 中的数据透视表表现得像 Excel 中的数据透视表?