Export (0) Print
Expand All

SmtpClient.Send Method (String, String, String, String)

Sends the specified e-mail message to an SMTP server for delivery. The message sender, recipients, subject, and message body are specified using String objects.

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

public void Send(
	string from,
	string recipients,
	string subject,
	string body
)

Parameters

from
Type: System.String

A String that contains the address information of the message sender.

recipients
Type: System.String

A String that contains the addresses that the message is sent to.

subject
Type: System.String

A String that contains the subject line for the message.

body
Type: System.String

A String that contains the message body.

ExceptionCondition
ArgumentNullException

from is null.

-or-

recipients is null.

ArgumentException

from is Empty.

-or-

recipients is Empty.

InvalidOperationException

This SmtpClient has a SendAsync call in progress.

-or-

DeliveryMethod property is set to Network and Host is null.

-or-

DeliveryMethod property is set to Network and Host is equal to the empty string ("").

-or-

DeliveryMethod property is set to Network and Port is zero, a negative number, or greater than 65,535.

ObjectDisposedException

This object has been disposed.

SmtpException

The connection to the SMTP server failed.

-or-

Authentication failed.

-or-

The operation timed out.

-or-

EnableSsl is set to true but the DeliveryMethod property is set to SpecifiedPickupDirectory or PickupDirectoryFromIis.

-or-

EnableSsl is set to true, but the SMTP mail server did not advertise STARTTLS in the response to the EHLO command.

SmtpFailedRecipientsException

The message could not be delivered to one or more of the recipients in recipients.

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.

When sending e-mail using Send to multiple recipients and the SMTP server accepts some recipients as valid and rejects others, Send sends e-mail to the accepted recipients and then a SmtpFailedRecipientsException is thrown. The exception will contain a listing of the recipients that were rejected.

NoteNote

If the EnableSsl property is set to true, and the SMTP mail server does not advertise STARTTLS in the response to the EHLO command, then a call to the Send or SendAsync methods will throw an SmtpException.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Show:
© 2014 Microsoft