13 Jun

C# Send an Email Using Outlook Program

To send an email using outlook program, we need to add a reference to the dynamic link library for Outlook which is called Microsoft.Office.Interop.Outlook.dll. To do this, firstly go to your solution explorer and click on add a reference. Then, add Microsoft.Office.Interop.Outlook.dll.

Sample code and usage are below.


            //using MsOutlook = Microsoft.Office.Interop.Outlook;
            //You must add using statement.

            string[] attachFiles = new string[] { 
            SendMailWithOutlook("Subject1", "This is an example.", "test@csharpexample.com", attachFiles, MailSendType.SendDirect);


        public enum MailSendType
            SendDirect = 0,
            ShowModal = 1,
            ShowModeless = 2,

        public bool SendMailWithOutlook(string subject, string htmlBody, string recipients, string[] filePaths, MailSendType sendType)
                // create the outlook application.
                MsOutlook.Application outlookApp = new MsOutlook.Application();
                if (outlookApp == null)
                    return false;

                // create a new mail item.
                MsOutlook.MailItem mail = (MsOutlook.MailItem)outlookApp.CreateItem(MsOutlook.OlItemType.olMailItem);

                // set html body. 
                // add the body of the email
                mail.HTMLBody = htmlBody;

                //Add attachments.
                if (filePaths != null)
                    foreach (string file in filePaths)
                        //attach the file
                        MsOutlook.Attachment oAttach = mail.Attachments.Add(file);

                mail.Subject = subject;
                mail.To = recipients;
                if (sendType == MailSendType.SendDirect)
                else if (sendType == MailSendType.ShowModal)
                else if (sendType == MailSendType.ShowModeless)

                mail = null;
                outlookApp = null;
                return true;
            catch (Exception ex)
                return false;