SmtpClient.Send Method (MailMessage)

Note: This method is new in the .NET Framework version 2.0.

Sends the specified message to an SMTP server for delivery.

Namespace: System.Net.Mail
Assembly: System (in system.dll)

Public Sub Send ( _
	message As MailMessage _
Dim instance As SmtpClient
Dim message As MailMessage

public void Send (
	MailMessage message
public function Send (
	message : MailMessage



A MailMessage that contains the message to send.

Exception typeCondition


From is a null reference (Nothing in Visual Basic).


To is a null reference (Nothing in Visual Basic).


message is a null reference (Nothing in Visual Basic).


There are no recipients in To, CC, and BCC.


This SmtpClient has a SendAsync call in progress.


Host is a null reference (Nothing in Visual Basic).


Host is equal to the empty string ("").

-or- Port is zero.


This object has been disposed.


The connection to the SMTP server failed.


Authentication failed.


The operation timed out.


The message could not be delivered to one or more of the recipients in To, CC, or BCC.

This method blocks while the e-mail is transmitted. You can specify a time-out value using the Timeout property to ensure that the method returns after a specified amount of time elapses.

Before calling this method, the Host and Port methods must be set either through the configuration files by setting the relevant properties, or by passing this information into the SmtpClient(String,Int32) constructor.

You cannot call this method if there is a message being sent asynchronously.

If the SMTP host requires credentials, you must set them before calling this method. To specify credentials, use the UseDefaultCredentials or Credentials properties.

If you receive an SmtpException exception, check the StatusCode property to find the reason the operation failed. The SmtpException can also contain an inner exception that indicates the reason the operation failed.

The following code example demonstrates using this method.

public static void CreateTestMessage2(string server)
    string to = "";
    string from = "";
    MailMessage message = new MailMessage(from, to);
    message.Subject = "Using the new SMTP client.";
    message.Body = @"Using this new feature, you can send an e-mail message from an application very easily.";
    SmtpClient client = new SmtpClient(server);
    // Credentials are necessary if the server requires the client 
    // to authenticate before it will send e-mail on the client's behalf.
    client.UseDefaultCredentials = true;

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0