Dot-Net
MAPI 和託管程式碼體驗?
官方不支持在託管程式碼中使用 MAPI 函式。顯然,MAPI 使用自己的記憶體管理,它在託管程式碼中崩潰和燒毀(請參閱此處和此處)
我要做的就是啟動帶有主題、正文和一個或多個附件的預設電子郵件客戶端。
所以我一直在研究MAPISendDocuments,它似乎有效。但是我一直無法鼓起勇氣在生產程式碼中實際使用該功能。
有沒有人經常使用這個功能?你有什麼恐怖故事嗎?
PS。不,我不會使用附件的命令行參數 shellExecute Outlook.exe。
聚苯乙烯。附件支持是一項要求*,因此 Mailto: 解決方案不適合我。*
對於有 MAPI 經驗的人來說,與輸入這篇文章並閱讀響應(無意冒犯)相比,他們花費更少的時間來編寫程式碼以從非託管程式碼(閱讀:普通 C++)中完全按照您的意願行事。
你很幸運,你需要的功能是有限的。您只需要一個簡單的 C++ 實用程序即可在命令行上獲取所需的參數並發出正確的 MAPI 呼叫。然後,您可以從託管程式碼中獲取所有這些實用程序,就像執行任何其他程序一樣。
高溫高壓
在Mailto: 協議上呼叫 process.Start (如下所示)將為您提供基本功能,但不提供附件。
Process.Start("mailto:name@domain.com?subject=TestCode&Body=Test Text");您可以使用附件路徑執行此方法,但此選項僅適用於某些舊版本的 Outlook,例如 98。我認為這是由於潛在的安全風險。
如果有人確實使用了 Outlook.exe,它將在 Outlook 2003(和 2007 取決於設置)下發出安全警告。