电子邮件附件名称包含非 ASCII 字符,并且长度超过 41 utf-8 编码字节的是之前的.NET Framework 4 编译的应用程序中的传输编码两次


摘自:http://support.microsoft.com/kb/2402064

症状

请考虑以下情形:
  • 运行 Microsoft.NET Framework 4 为编译的应用程序。
  • 应用程序调用System.Net.SmtpClient类,以发送电子邮件和附件类用于将文件附加到邮件对象。
  • 附件名称包含非 ASCII 字符,超过 41 utf-8 编码字节为单位)。

在这种情况下,附件名称是意外之前传输编码两次。然后,电子邮件消息接收器截断已编码的名称,但不是原始名称中查找附件。

原因

出现此问题是由于.NET Framework 4 中的问题。SMTP 编码被重写,以包括正确折叠每行长度限制的 RFC 标准。此行为将插入额外回车返回换行符 (CRLF) 字符名称字符串太长时。这些额外的控制字符会使附件名称重新编码。

解决方案

修补程序信息

现在可以从 Microsoft 获得支持的修补程序。但是,它被用于解决本文中描述的问题。它只应用于出现这一特定问题的系统。此修补程序可能会接受进一步的测试。因此,如果这个问题没有对您造成严重的影响,我们建议您等待包含此修补程序的下一个软件更新。

要立即解决此问题,请联系 Microsoft 客户支持服务,以获取此修复程序。Microsoft 客户支持服务的电话号码和关于支持费用的信息的完整列表,请访问以下 Microsoft 网站: 注意在特殊情况下,如果 Microsoft 支持专业人员确定某个特定的更新将解决您的问题,可能会取消通常会导致支持电话的费用。其他支持问题和事项,不适合特定的更新将正常收取支持费用。

注意您可以从以下 Microsoft 连接网站下载此修补程序汇总:

系统必备组件

您必须具有 Microsoft.NET Framework 4 安装要应用此修补程序。

重新启动信息

不需要应用此修补程序后,重新启动计算机。

文件信息

此修补程序的英文版具有的文件属性 (或更新的文件属性) 下表中列出。日期和时间,这些文件列出了以协调通用时间 (UTC)。当您查看文件信息时,将转换为本地时间。要了解 UTC 与本地时间之间的时差,请在控制面板中的日期和时间项中使用时区选项卡。

支持所有基于 x86 的版本的 Windows XP、 Windows Server 2003、 Windows Vista 的、 Windows Server 2008 的、 的 Windows 7 中,以及 Windows Server 2008 R2 x
 
 
文件名称文件版本文件大小日期时间平台
SetupUi.dll 10.0.30319.364 295,248 2010 年 9 月 28 日 05: 19 x86
Setupengine.dll 10.0.30319.364 809,304 2010 年 9 月 28 日 05: 19 x86
Setup.exe 10.0.30319.364 78,152 2010 年 9 月 28 日 05: 19 x86
System.dll 4.0.30319.364 3,482,440 2010 年 9 月 28 日 11: 15 x86
支持所有基于 x64 版本的 Windows XP、 Windows Server 2003、 Windows Vista 的、 Windows Server 2008 的、 Windows 7 的和 Windows Server 2008 R2 的 x
 
 
文件名称文件版本文件大小日期时间平台
SetupUi.dll 10.0.30319.364 295,248 2010 年 9 月 28 日 05: 19 x86
Setupengine.dll 10.0.30319.364 809,304 2010 年 9 月 28 日 05: 19 x86
Setup.exe 10.0.30319.364 78,152 2010 年 9 月 28 日 05: 19 x86
System.dll 4.0.30319.364 3,482,440 2010 年 9 月 28 日 11: 15 x86
为所有受支持基于 IA 64 版本的 Windows XP、 Windows Server 2003、 Windows Vista 的、 Windows Server 2008 的、 的 Windows 7 中,以及 Windows Server 2008 R2
 
 
文件名称文件版本文件大小日期时间平台
SetupUi.dll 10.0.30319.364 295,248 2010 年 9 月 28 日 05: 19 x86
Setupengine.dll 10.0.30319.364 809,304 2010 年 9 月 28 日 05: 19 x86
Setup.exe 10.0.30319.364 78,152 2010 年 9 月 28 日 05: 19 x86
System.dll 4.0.30319.364 3,482,440 2010 年 9 月 28 日 11: 15 x86

 
 
posted @ 2012-09-20 09:48  TOP100  阅读(508)  评论(1编辑  收藏  举报