We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

How to: Programmatically Attach Files to Outlook E-Mail Items

 

This example attaches a file to a new mail item and sends it to Armando Pinto. The example assumes a person named Armando Pinto exists as the recipient.

Applies to: The information in this topic applies to VSTO add-in projects for Outlook. For more information, see Features Available by Office Application and Project Type.

        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            AddAttachment();
        }

        private void AddAttachment()
        {
            Outlook.MailItem mail =
                this.Application.CreateItem
                (Outlook.OlItemType.olMailItem)
                as Outlook.MailItem;

            mail.Subject = "An attachment for you!";

            OpenFileDialog attachment = new OpenFileDialog();

            attachment.Title = "Select a file to send";
            attachment.ShowDialog();

            if (attachment.FileName.Length > 0)
            {
                mail.Attachments.Add(
                    attachment.FileName,
                    Outlook.OlAttachmentType.olByValue,
                    1,
                    attachment.FileName);
                mail.Recipients.Add("Armando Pinto ");
                ((Outlook._MailItem)mail).Send();
            }
        }

Working with Mail Items
How to: Programmatically Send E-Mail Programmatically
How to: Programmatically Save Attachments from Outlook E-Mail Items
How to: Programmatically Create an E-Mail Item

Show: