Ish*_*eel 12 .net email mapi pinvoke
官方不支持在托管代码中使用MAPI函数.显然,MAPI使用自己的内存管理,它在托管代码中崩溃和烧毁(请参阅此处和此处)
我想要做的就是启动包含主题,正文和一个或多个附件的默认电子邮件客户端.
所以我一直在研究MAPISendDocuments,它似乎工作.但我无法鼓起勇气在生产代码中实际使用该功能.
有没有人经常使用这个功能?你有恐怖故事吗?
PS.不,我不会用附件的命令行参数shellExecute Outlook.exe.
PPS.附件支持是必要条件,所以邮寄地址:解决方案不削减对我来说.
有一个单独的帮助程序EXE,它接受命令行参数(或管道到其StandardInput)执行所需的操作并从主应用程序调用它.这使MAPI内容远离主应用程序的进程空间.好吧,你仍然在混合MAPI和.NET,但是在一个非常短暂的过程中.假设MAPI和CLR开始导致更长时间运行的进程出现问题.
我们使用Dmitry Streblechenko出色的Redemption Data Objects库,它允许我们在JScript中编写这样的"垫片"代码并调用它,这使CLR和MAPI世界保持在不同的进程中,但是以受支持的方式.
@Chris Fournier重新.编写一个非托管DLL.这不起作用,因为问题是在同一进程中混合MAPI和托管代码.
| 归档时间: |
|
| 查看次数: |
3420 次 |
| 最近记录: |