如何在 Windows Mobile 上使用 MAPI 获取电子邮件标题?
我想在 Windows Mobile 的 PockerOutlook 中获取电子邮件标题,但目前 Microsoft.WindowsMobile.PocketOutlook 能够:
枚举消息帐户。
发送电子邮件
发送短信
拦截短信
所以我想DLLImport MAPI.DLL来获取它的功能,以便获得电子邮件标题。
我找到此参考用 C++ 编写。 由于数据类型不同,转换为 C# 版本似乎很困难。 我应该自己创建一个用 C++ 编写的 dll 文件和 DLLImport to C# 应用程序吗?
I want to get email title in PockerOutlook in Windows Mobile, but currently Microsoft.WindowsMobile.PocketOutlook has the ability to:
Enumerate messaging accounts.
Send Email
Send SMS
Intercept SMS
So I want to DLLImport MAPI.DLL to get its functions in order to get the title of email.
I find this reference written in C++. It seems to be difficult to convert to C# version due to different data type. Should I create a dll file by myself written in C++ and DLLImport to C# app?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不是 C# 人员,但 MAPI 是基于 COM 的系统。 因此,您不想导入 MAPI dll,而是想使用 C# 系统具有的任何内容来扭曲 COM 接口 (COM 互操作)。
您使用 ICEMAPISession 枚举消息存储,然后枚举每个消息存储中的文件夹使用 IMsgStore。 然后,您可以使用 IMAPIFolder 模拟文件夹中的邮件。
收到电子邮件条目 (IMessage) 后,您将要求提供PR_SUBJECT 属性。
您必须习惯 C# 中的 COM Interop 和有些令人困惑的 MAPI 接口。
I'm not a C# person, but MAPI is a COM based system. So you don't want to import the MAPI dll, you want to use whatever C# system has for warpping COM interfaces (COM Interop).
You enumlate the messaing stores with ICEMAPISession then you enumlate the folders in each store (or go directly to known folders like the "inbox") with IMsgStore. Then you can emulate the messages in the folder with IMAPIFolder.
Once you get the email message entry (IMessage) you ask for the PR_SUBJECT property.
You have to get used to the COM Interop in C# and the somewhat confusing MAPI interface.