Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
Previous Versions
.NET Framework 2.0
System.Net.Mail
SmtpClient Class
SmtpClient Methods
Send Method
 Send Method (MailMessage)

  Switch on low bandwidth view
This page is specific to
Microsoft Visual Studio 2005/.NET Framework 2.0

Other versions are also available for the following:
.NET Framework Class Library
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)

Visual Basic (Declaration)
Public Sub Send ( _
    message As MailMessage _
)
Visual Basic (Usage)
Dim instance As SmtpClient
Dim message As MailMessage

instance.Send(message)
C#
public void Send (
    MailMessage message
)
C++
public:
void Send (
    MailMessage^ message
)
J#
public void Send (
    MailMessage message
)
JScript
public function Send (
    message : MailMessage
)

Parameters

message

A MailMessage that contains the message to send.

Exception typeCondition

ArgumentNullException

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

-or-

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

-or-

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

ArgumentOutOfRangeException

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

InvalidOperationException

This SmtpClient has a SendAsync call in progress.

-or-

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

-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 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.

C#
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;
    client.Send(message);
}

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
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker