How to send attachments in an e-mail message by using Visual Basic .NET

Summary

This article describes how to use the Microsoft Outlook Object Library to send attachments in an e-mail message by using Microsoft Visual Basic .NET.

More Information

To send attachments in an e-mail message by using Visual Basic .NET, follow these steps:
  1. Start Microsoft Visual Studio .NET.
  2. On the File menu, point to New, and then click Project.
  3. In the Visual Basic Projects types list, click Console Application.

    By default, the Module1.vb file is created.
  4. If Office Outlook 2003 is installed on your development computer, add a reference to the Microsoft Outlook 11.0 Object Library. If Outlook 2002 is installed on your development computer, add a reference to the Microsoft Outlook 10.0 Object Library. To do so, follow these steps:
    1. On the Project menu, click Add Reference.
    2. Click the COM tab, locate Microsoft Outlook 11.0 Library or Microsoft Outlook 10.0 Object Library, and then click Select.
    3. In the Add References dialog box, click OK.
    4. If you are prompted to generate wrappers for the libraries that you selected, click Yes.
  5. In the code window, replace the code with the following:
    Module Module1

    Sub Main()
    ' Create an Outlook application.
    Dim oApp As Outlook._Application
    oApp = New Outlook.Application()

    ' Create a new MailItem.
    Dim oMsg As Outlook._MailItem
    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 = "user@example.com"

    ' Add an attachment
    ' TODO: Replace with a valid attachment path.
    Dim sSource As String = "C:\Temp\Hello.txt"
    ' TODO: Replace with attachment name
    Dim sDisplayName As String = "Hello.txt"

    Dim sBodyLen As String = oMsg.Body.Length
    Dim oAttachs As Outlook.Attachments = oMsg.Attachments
    Dim oAttach As Outlook.Attachment
    oAttach = oAttachs.Add(sSource, , sBodyLen + 1, sDisplayName)

    ' Send
    oMsg.Send()

    ' Clean up
    oApp = Nothing
    oMsg = Nothing
    oAttach = Nothing
    oAttachs = Nothing
    End Sub

    End Module
  6. Search for the TODO text string in the code, and then modify the code for your environment.
  7. Press the F5 key to build and to run the program.
  8. Make sure that the e-mail message and the attachment have been sent.
Properties

Article ID: 313803 - Last Review: Mar 23, 2009 - Revision: 1

Feedback