我正在使用第三方dll,它将Outlook .msg邮件转换为eml。对于我尝试转换的大多数电子邮件,此dll的功能符合预期。 但是最近,我发现了一封无法正确编码和解码的邮件。这是一封带有一些法国口音和其他字符的邮件(但通常到目前为止的所有法国邮件都转换得很好)。
结果,转换为 eml 的.msg产生"?"代替一些重音,并且在消息正文中也出现了一些"\f0"。
我将相同的.msg邮件发送给编写转换工具的第三方开发人员。他加载了相同的 dll 并模拟了我正在使用的相同转换序列,并且他有不同的结果(正确转换的文档)。
using System;
using Independentsoft.Msg;
namespace Sample
{
class Program
{
static void Main(string[] args)
{
Independentsoft.Msg.Message msgMessage = new Independentsoft.Msg.Message("c:\test\test.msg");
Independentsoft.Email.Mime.Message mimeMessage = msgMessage.ConvertToMimeMessage();
mimeMessage.Save("c:\test\test.eml");
}
}
}
如何调试?它怎么可能在开发人员的机器中使用相同的 dll 而不是在我的或客户身上完美运行?
确保两台计算机上的当前区域设置相同。
还尝试(作为测试)运行赎回(我是它的作者)转换器(请参阅将Outlook MSG文件转换为EML文件的第三方实用程序)。