2013-01-14 24 views
1

我需要創建電子郵件,但是當按鈕被觸發時,我希望它使用預先格式化的電子郵件打開Outlook。使用預格式化數據打開郵件客戶端

由於客戶端有一些恢復,我不希望它從程序本身發送電子郵件,我希望它在Outlook中打開。

事情是這樣的:

Dim email As New CDO.Message 
With email 
    .From = "[email protected]" 
    .To = "[email protected]" 
    .Subject = "Great e-mail" 
    .HTMLBody = "<h1>Header for a cool email</h1> And cool HTML" 
    .AddAttachment("Cute_kitty.jpg") 

    '.Send() NO! Open outlook with this stuff typed above and make sender useless 
End With 

我怎樣才能做到這一點? 我發現這個東西,但它(當然)不支持HTML的電子郵件和附件...

Dim proc As System.Diagnostics.Process = New System.Diagnostics.Process 
proc.StartInfo.FileName = "mailto:[email protected]?subject=Great e-mail&body=My cool email that does not support html n stuff" 
proc.Start() 

建議?

回答

1

如果要在Outlook中打開郵件,則需要使用Outlook對象模型。

組應用=的CreateObject( 「Outlook.Application」)
組NS = App.GetNamespace( 「MAPI」)
NS.Logon
組電子郵件= App.CreateItem(0)
:沿着線的東西 隨着電子郵件
。爲了= 「[email protected]
.Subject = 「大郵件」
.HTMLBody =你的HTML文本 「
.Attachments.Add(」 C:\ TEMP \ Cute_kitty。 jpg「)
。顯示
End With

+0

很酷!謝謝!只是一個錯誤,它是「Attachments.Add」,而不是「Attachment.Add」。它是完美的! :) – gubbfett

相關問題