2

使用 MAPI 时是否可以将具有 unicode 文件名的文件附加到电子邮件中?

文档说MAPISendMailW仅从 Win8 开始可用,这对我来说几乎没用。文档说要在 Win7 和更早版本上使用MAPISendMailHelper,但 MAPISendMailHelper 的文档说如果 MAPISendMailW 不可用,它将把 unicode 信息转换为 ANSI。

我开始怀疑这可能根本不可能,但我还是问了以防万一。

4

2 回答 2

1

简单的 MAPI 是不可能的,只是在不可用时MAPISendMailHelper调用,并且不支持 Unicode。MAPISendMailMAPISendMailWMAPISendMail

使用扩展 MAPI(Microsoft 简称为“MAPI”,包括示例)是可能的,但扩展 MAPI 会使您的代码变得更加复杂,并且出于实际目的仅限于 Outlook/Exchange。

于 2012-08-07T08:51:52.607 回答
0

使用 MAPI 时,是否可以将具有 Unicode 文件名的文件附加到电子邮件取决于特定简单 MAPI 处理程序 (DLL) 的实现,该处理程序随每个电子邮件客户端提供,可以将自己注册为简单 MAPI 处理程序。大多数现代电子邮件客户端,例如 The Bat!,都实现了 MAPISendMailW。

如果电子邮件客户端实现 MAPISendMailW,则可以附加具有 Unicode 文件名的文件。如果它没有实现 MAPISendMailW,那么您将无法发送包含默认 Windows Codgepage 之外字符的 Unicode 文件名的文件,甚至 MAPISendMailHelper 也无济于事:例如,如果您设置了“德语”语言对于 Windows 设置中的非 Unicode 程序,并且您的文件名包含希腊字符,这些字符将丢失并变为问号。

于 2017-03-03T21:35:50.317 回答