2009-11-30 130 views
0

如何使用Windows API調用以編程方式在默認電子郵件客戶端(例如Outlook)中打開新的消息窗口?我需要包含一個附件,並且希望以「富文本」(即非簡單)格式指定默認消息體。使用默認電子郵件程序創建新電子郵件

+0

不久前,mailto:協議中的附件選項已從所有電子郵件服務器中刪除。猖獗的濫用。您需要使用電子郵件的自動化界面才能完成此操作。 – 2009-12-01 20:29:16

回答

2

ShellExecute解決方案很好對於沒有附件的簡單消息,但是如果您想要更多地控制流程,您可以嘗試MAPI;特別參見MAPISendMail函數和MapiMessage結構。

對於更復雜的需求,還有擴展的MAPI,但是我沒有在MSDN上找到任何關於它的文檔。然而this似乎是擴展MAPI的一個很好的包裝。

2

我認爲你可以使用ShellExecute來做到這一點。附件應該用作參數:類似這樣的東西,但我不記得確實:「mailto:emial @ something?subject = subject?body = body?attachment = ...」

+1

我認爲應該是HTTP風格的查詢參數:'mailto:email @ something?subject = subject&body = body&attachment = ...' – Thomas 2009-12-01 10:20:13

+0

是的,你是對的。 – sinek 2009-12-01 12:36:31

+0

較新版本的Outlook現在在&attachment參數上引發錯誤。 – jac 2009-12-02 16:54:45

相關問題