Outlook 2016:一些电子邮件以中文送达



偶尔我们的用户会收到来自已知来源的电子邮件,并且电子邮件正文的字符将是中文而不是英文。它们不会都是中文,而是由中文和一些随机字符混合而成,比如:

"格浴㹬਍†格慥㹤਍††䴼呅⁁瑨灴攭畱癩∽潃瑮湥⵴祔数•潣瑮湥㵴琢硥⽴瑨汭※档牡敳㵴瑵ⵦ㘱㸢਍††洼瑥⁡瑨灴攭畱癩∽潃瑮湥⵴祔数•潣瑮湥㵴琢硥⽴瑨汭※档牡敳㵴卉ⵏ㠸㤵ㄭ㸢਍††琼瑩敬刾捩敫⁹效潲慭獮䠠獡䐠汥癩牥摥夠畯⁲汆睯牥⁳牏䜠晩㱴琯瑩敬ാ 㰠栯慥㹤਍†戼摯⁹杢潣潬㵲⌢晦晦晦㸢਍††琼扡敬眠摩">

这种情况似乎只发生在一两个用户身上,并不是每个发件人——事实上,发件人的一封电子邮件可能没问题,下一封可能是这样。编码似乎很好,但我们不确定还能从哪里看。还有一件事——我们有梭鱼作为我们的电子邮件过滤器。如果我们先在Barracuda中查看一封有问题的电子邮件,那就是英语。在客户端,它似乎已更改为中文。

我们有一个prem 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电子邮件正文被解释为一个小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">

希望这能有所帮助。

最新更新