2012-03-26 77 views
0

我想創建一個Outlook主題和一些附件,供用戶在準備好時發送。我有附件的文件路徑。我會如何去做這件事?使用vb.net創建帶有附件的outlook郵件

基本上用戶需要點擊應用程序上的一個按鈕,然後用預定義的消息和一些附件打開Outlook消息窗口。然後他們應該能夠在通過outlook發送之前修改和添加所需的「To」等。

謝謝!

+0

三個字:「 Outlook對象模型「。如果你喜歡痛苦的話,還有「直接」MAPI訪問,Redemption是一個很棒的圖書館,還有CDO。 – 2012-03-26 23:41:34

+0

C#或VB.Net - 那些標記是衝突的? – 2012-03-26 23:50:13

+0

你的問題顯示缺乏研究,我把你的問題的標題放在谷歌,並找到知識庫文章。如果您希望用戶在發送電子郵件之前查看電子郵件,只需交換代碼行「oMsg.Send();'並將其更改爲顯示爲http://msdn.microsoft.com/en-us/library/ ff861853.aspx – 2012-03-26 23:59:03

回答

1

如何通過使用Visual Basic .NET

http://support.microsoft.com/kb/313803

這裏是代碼的C#版本發送附件在電子郵件消息:

void Main() 
{ 
    // Create an Outlook application. 
    Outlook._Application oApp; 
    oApp = new Outlook.Application(); 

    // Create a new MailItem. 
    Outlook._MailItem oMsg; 
    oMsg = oApp.CreateItem(Outlook.OlItemType.olMailItem); 
    oMsg.Subject = "Send Attachment Using OOM in Visual Basic .NET"; 
    oMsg.Body = "Hello World" + vbCr + vbCr; 

    // TODO: Replace with a valid e-mail address. 
    oMsg.To = "[email protected]"; 

    // Add an attachment 
    // TODO: Replace with a valid attachment path. 
    string sSource = "C:\\Temp\\Hello.txt"; 
    // TODO: Replace with attachment name 
    string sDisplayName = "Hello.txt"; 

    string sBodyLen = oMsg.Body.Length; 
    Outlook.Attachments oAttachs = oMsg.Attachments; 
    Outlook.Attachment oAttach; 
    oAttach = oAttachs.Add(sSource, , sBodyLen + 1, sDisplayName); 

    // Send 
    oMsg.Send(); 

    // Clean up 
    oApp = null; 
    oMsg = null; 
    oAttach = null; 
    oAttachs = null; 
} 
+0

當我回家時會嘗試 - 謝謝! – 2012-03-27 00:02:49

+1

我會推薦一個明確的'ReleaseComObject'在*上,至少*消息 - 如果沒有完成,Outlook消息緩存將會咬住。這是我的無數小時追蹤由於未能這樣做而引起的微妙錯誤所支持的警告。 (也是附件,但這不是那麼重要,如果你已經走了那麼遠,不妨也將該應用程序作爲非託管資源來處理......但至少*這樣做是爲了消息。) – 2012-03-27 00:19:16

+0

@pst感謝您指出這一點,Omar這裏是一個方便的鏈接,瞭解如何處理混合管理內存管理與非託管代碼內存管理:http://jake.ginnivan.net/vsto-com-interop – 2012-03-27 02:27:01

相關問題