Outlook 365与专业版[save mailitem]编码问题

本文关键字:mailitem 编码 问题 save 专业版 Outlook | 更新日期: 2023-09-27 17:59:30

我目前正在开发一个outlook插件,它从outlook读取邮件属性并显示在winform上。

我与展望专业2013建立了环境展望。所有功能都很好。sendername、from、to等属性在winform上显示为可读。

这就是我访问邮件属性的方式。

Outlook.MailItem mail;
mail.Sender.Name;

现在,如果我在一个系统区域设置相同但前景不同的环境中使用插件(outlook 365)

我在阅读某些特定邮件时遇到解码问题。例如,如果我正在访问发件人的邮件:Adèle

Outlook.MailItem mail;
mail.Sender.Name; // ---> This returns Ad?le

当我向outlook spy查询时,邮件采用UTF-8编码。电脑区域设置相同。

一件奇怪的事情是,我将邮件从outlook 365环境复制到了另一个(outlook专业版),并出现了问题,但当我复制邮件并从outlooks专业版环境导入到outlook 360时,它正常工作。所以我认为这与outlook 365保存或表示其对象的方式有关?我该如何处理这个问题?它能固定在我的一端吗?

Outlook 365与专业版[save mailitem]编码问题

Outlook对象模型(就像所有IDispatch友好的COM库一样)以UTF-16(2字节)编码返回字符串。

确保以不将字符串转换为单字节编码的方式显示字符串。

你在OutlookSpy(我是它的作者)中看到同样的问题吗?