Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Microsoft Outlook Send and Email Automation C#

How can I send an email with Subject, Attachment, Body, etc. I have looked on the website and all they give is Visual Basic Code. I already added the reference:

 using Microsoft.Office.Interop.Outlook;
like image 240
Russell Saari Avatar asked Nov 08 '25 20:11

Russell Saari


1 Answers

you should improve your googling skills ;-)

using System;
using Outlook = Microsoft.Office.Interop.Outlook;

namespace Outlook_SendMailItem
{
    public class Class1
    {
        public static int Main(string[]args)
        {
            try
            {
                // Create the Outlook application by using inline initialization.
                Outlook.Application oApp = new Outlook.Application();

                //Create the new message by using the simplest approach.
                Outlook.MailItem oMsg = (Outlook.MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem);

                //Add a recipient.
                // TODO: Change the following recipient where appropriate.
                Outlook.Recipient oRecip = (Outlook.Recipient)oMsg.Recipients.Add("e-mail address");
                oRecip.Resolve();

                //Set the basic properties.
                oMsg.Subject = "This is the subject of the test message";
                oMsg.Body = "This is the text in the message.";

                //Add an attachment.
                // TODO: change file path where appropriate
                String sSource = "C:\\setupxlg.txt";
                String sDisplayName = "MyFirstAttachment";
                int iPosition = (int)oMsg.Body.Length + 1;
                int iAttachType = (int)Outlook.OlAttachmentType.olByValue;  
                Outlook.Attachment oAttach = oMsg.Attachments.Add(sSource,iAttachType,iPosition,sDisplayName);

                // If you want to, display the message.
                // oMsg.Display(true);  //modal

                //Send the message.
                oMsg.Save();
                oMsg.Send();

                //Explicitly release objects.
                oRecip = null;
                oAttach = null;
                oMsg = null;
                oApp = null;
            }

                // Simple error handler.
            catch (Exception e)
            {
                Console.WriteLine("{0} Exception caught: ", e);
            }

            //Default return value.
            return 0;

        }

    }
}
like image 186
Davide Piras Avatar answered Nov 10 '25 10:11

Davide Piras



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!