過去,我使用MAPISendMail從具有文件附件的C++應用程序啓動Outlook(或任何期望的MAPI電子郵件應用程序)。 (類似於說Microsoft Word的發送電子郵件功能)。從C#啓動電子郵件應用程序(MAPI)(附帶附件)
我需要做一個C#應用程序的等價物,並讓它在XP,Vista,Server 2008(以及Windows 7我想)上運行時可以工作。
MAPISendMail在Vista/2008下是不行的,因爲它在Outlook運行時總是返回MAPI_ E_FAILURE,而託管代碼中不支持MAPI。 即使在檢查此修復後: http://support.microsoft.com/kb/939718 我無法讓它可靠地工作。
我知道Microsoft Word & Adobe Reader 9可以在Vista下使用附件啓動Outlook。
C#兼容解決方案將是首選,但我會很高興與任何工作(不必使用MAPI)。我似乎無法找到目前的「解決方案」。堆棧溢出現有的答案似乎也沒有涵蓋這一點。
編輯:
我意識到MAPI和C#不在一起工作,所以我會在Vista中工作的C/C++的解決方案和Server 2008時不以管理員身份運行。請參閱Adobe Reader 9 & Microsoft Word作爲示例工作。
恐怕我對你沒有任何好消息。這篇文章似乎表明您不應該使用MAPI或CDO與.net在所有:http://blogs.msdn.com/mstehle/archive/2007/10/03/fyi-why-are-mapi-and- cdo-1-21-not-supported-in-managed-net-code.aspx – JMarsch 2009-05-19 22:15:08
@JMarsch,是的,讀之前。正如我在問題中提到的,我很滿意非.NET的解決方案。我無法使MAPISendMail在Vista或Server 2008下全部工作。 – Steven 2009-05-20 04:24:54
您是否真的想發送帶附件的電子郵件?或者最終用戶是否真的需要在Outlook中打開它? – PeteT 2009-05-26 09:19:28