Search code examples
c#emailoutlook

c# Send Email using Process.Start


I want to send simple email with no attachment using default email application.

I know it can be done using Process.Start, but I cannot get it to work. Here is what I have so far:

string mailto = string.Format("mailto:{0}?Subject={1}&Body={2}", "[email protected]", "Subject of message", "This is a body of a message");
System.Diagnostics.Process.Start(mailto);

But it simply opens Outlook message with pre-written text. I want to directly send this without having user to manually click "Send" button. What am I missing?

Thank you


Solution

  • You need to do this:

    SmtpClient m_objSmtpServer = new SmtpClient();
    MailMessage objMail = new MailMessage();
    m_objSmtpServer.Host = "YOURHOSTNAME";
    m_objSmtpServer.Port = YOUR PORT NOS;
    
    objMail.From = new MailAddress(fromaddress);
    objMail.To.Add("TOADDRESS");
    
    objMail.Subject = subject;
    objMail.Body = description;
    m_objSmtpServer.Send(objMail);