How to

send mail using C#

Published: 13. December 2008 | Updated: 13. December 2008
License: Microsoft Public License (MS-PL)
Categories: Network
Tags: C# Network
Was this snippet helpful for you? YESYES / NONO

Send mail using custom smtp server with credentials

Import namespaces

using System.ComponentModel;
using System.Net;
using System.Net.Mail;

Code

// create message
MailMessage message = new MailMessage();
message.From = new MailAddress("username@server-name.com", "username");
message.To.Add(new MailAddress("recipient@another-server.com", "recipientname"));
message.Subject = "subject";
message.Body = "body";

// create and set up smtp client
SmtpClient client = new SmtpClient();
client.Credentials = new NetworkCredential("username", "password");
client.Port = 25;
client.Host = "smtp.server-name.com";
client.EnableSsl = false;
client.SendCompleted += new SendCompletedEventHandler(client_SendCompleted);

// send email asynchronically
client.SendAsync(message, message);

Handler method

// event handler invoked after send
private void client_SendCompleted(object sender, AsyncCompletedEventArgs e)
{
    MailMessage mail = (MailMessage)e.UserState;

    // sending was canceled
    bool canceled = e.Cancelled;

    // possible error
    Exception error = e.Error;
}
Send us feedback about this snippet »



Related Snippets: