Export (0) Print
Expand All

SmtpClient.Send Method (MailMessage)

Sends the specified message to an SMTP server for delivery.

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

public void Send(
	MailMessage message
)

Parameters

message
Type: System.Net.Mail.MailMessage

A MailMessage that contains the message to send.

ExceptionCondition
ArgumentNullException

From is null.

-or-

To is null.

-or-

message is null.

ArgumentOutOfRangeException

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

InvalidOperationException

This SmtpClient has a SendAsync call in progress.

-or-

Host is null.

-or-

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

-or- Port is zero.

ObjectDisposedException

This object has been disposed.

SmtpException

The connection to the SMTP server failed.

-or-

Authentication failed.

-or-

The operation timed out.

SmtpFailedRecipientsException

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 properties 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 = "jane@contoso.com";
			string from = "ben@contoso.com";
			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;

      try {
			  client.Send(message);
			}  
			catch (Exception ex) {
			  Console.WriteLine("Exception caught in CreateTestMessage2(): {0}", 
                    ex.ToString() );			  
      }              
		}
public:
   static void CreateTestMessage2(String* server )
    {
        String* to = S"jane@contoso.com";
        String* from = S"ben@contoso.com";
        MailMessage* message = new MailMessage(from, to);
        message->Subject = S"Using the new SMTP client.";
        message->Body = S"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;
       client->Send(message);
       client->Dispose();
    }

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

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

.NET Framework

Supported in: 3.5, 3.0, 2.0

Community Additions

ADD
Show:
© 2014 Microsoft