You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Outlook中BizTalk SMTP发邮件附件名称显示异常(编码相关问题)

调试与修复方案

1. 修正ContentTransferEncoding配置错误

ContentTransferEncoding属性的有效值为base64、7bit、quoted-printable这类标准MIME传输编码字符串,而非Encoding.UTF8编码类对象。附件内容已经是base64编码,将该属性赋值改为字符串"base64"即可。

2. 开启MIME组件UTF-8头支持

进入BizTalk发送管道的MIME/SMIME编码器配置界面,开启Enable UTF-8 for envelope headers选项,同时确认Content transfer encoding设置为Base64,该配置默认会对非ASCII文件名做兼容Outlook的RFC2047标准编码。

3. 移除无效编码逻辑

现有HtmlEncode方法未做任何有效转换,且Outlook对附件文件名的解析遵循MIME编码规范,和HTML编码无关,不需要做HTML转义处理,相关逻辑可直接删除。

4. 手动编码文件名(兜底方案)

如果上述配置修改后仍有问题,可以手动对文件名做RFC2047标准编码后再赋值给FileName属性,示例代码如下:

string rawFileName = item.FileName + item.Extension;
string encodedFileName = $"=?utf-8?B?{Convert.ToBase64String(Encoding.UTF8.GetBytes(rawFileName))}?=";
msgPart.PartProperties.Write("FileName", "http://schemas.microsoft.com/BizTalk/2003/mime-properties", encodedFileName);

5. 验证SMTP适配器配置

检查BizTalk SMTP发送端口的配置,确认Body charset设置为UTF-8,不要使用默认的系统编码。

内容的提问来源于stack exchange,提问作者Emperor 2052

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 05:06:03