Category Archive Email

ByMel

C#: Send Email with SMTP

So I’ve actually had to do this before for a project I was working on, and thought that I’d go ahead and post a brief example of how to accomplish it here.

This example sends a simple email to a single recipient by using GMail. Please note that the principle classes used (MailMessage, SmtpClient, and NetworkCredential) are only available in the .NET Library 2.0 or later. For .NET < 2.0 you’ll want to see the System.Web namespace.

// Create the mail object.
System.Net.Mail.MailMessage msgMail =
    new System.Net.Mail.MailMessage(
        "TestEmail@mel-gree.com",   // FROM
        "mel@mel-green.com"         // TO
    );

// Set the subject of the message
msgMail.Subject = "Hello from C#";

// Set that the body of this message will be HTML
msgMail.IsBodyHtml = true;

// Set the body of the email. Since I specified that
// I'm using HTML this will be fully qualified HTML/XHTML
msgMail.Body =
    "<html>" +
      "<body>" +
        "<h1>Hello There!</h1>" +
        "<p>
           You've been selected to receive this email. Congratulations!
         </p>" +
      "</body>" +
    "</html>";

// Now I'll create an SMTP object to send the message
// by means of a SMTP server.
System.Net.Mail.SmtpClient smtp =
    new System.Net.Mail.SmtpClient(
            "smtp.gmail.com", // Server address
            587               // Server port
        );

// GMail uses SSL
smtp.EnableSsl = true;

// GMail uses authentication
smtp.UseDefaultCredentials = false;
smtp.Credentials
    = new System.Net.NetworkCredential (
        "mastermel@gmail.com", // Account Name
        "MyPassword"           // Account Password
      );

// Finally, send the message!
smtp.Send(msgMail);

Here’s a few extra things you might want to know about…

Read More