.NET Framework Class Library
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)
Syntax

Visual Basic (Declaration)
Public Sub Send ( _
    from As String, _
    recipients As String, _
    subject As String, _
    body As String _
)
Visual Basic (Usage)
Dim instance As SmtpClient
Dim from As String
Dim recipients As String
Dim subject As String
Dim body As String

instance.Send(from, recipients, subject, _
    body)
C#
public void Send(
    string from,
    string recipients,
    string subject,
    string body
)
Visual C++
public:
void Send(
    String^ from, 
    String^ recipients, 
    String^ subject, 
    String^ body
)
JScript
public function Send(
    from : String, 
    recipients : String, 
    subject : String, 
    body : String
)

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

ExceptionCondition
ArgumentNullException

from is nullNothingnullptra null reference (Nothing in Visual Basic).

-or-

recipient is nullNothingnullptra null reference (Nothing in Visual Basic).

ArgumentException

from is Empty.

-or-

recipient is Empty.

InvalidOperationException

This SmtpClient has a SendAsync call in progress.

-or-

Host is nullNothingnullptra 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 recipients.

Remarks

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.

.NET Framework Security

Platforms

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

.NET Framework

Supported in: 3.5, 3.0, 2.0
See Also

Reference

Tags :


Community Content

Thomas Lee
Multiple Recipients
To supply multiple Recipient addresses you should use a comma not a semicolon as the separator
Tags : contentbug

Thomas Lee
Multiple Recipients

The comma is the correct separator, not semicolon.

Tags : contentbug

Thomas Lee
Sample using PowerShell
<#
.SYNOPSIS
This script crealtes and sends an SMTP email message.
.DESCRIPTION
This script first creates a system.net.mail.mailmessage, and populates
it. Next, it creates an system.Net.Mail.SmtpClient, which then sends
the message to the SMTP Server, and onwards transmission. This script
is effectively a re-write of the C# sample above.
.NOTES
File Name : Send-EmailMessage.ps1
Author : Thomas Lee - tfl@psp.co.uk
Requires : PowerShell V2
.LINK
This script posted to:
http://www.pshscripts.blogspot.com
MSDN Sample posted at:
http://msdn.microsoft.com/en-us/library/67w4as51.aspx
.EXAMPLE
PSH [C:\foo]: .\Send-EmailMessage.ps1'
Message sent successfully
#>

##
# Start of Script
##

# Contents of the Email message
$to = "doctordns@gmail.com"
$from = "jane@cookham.net"
$subject = "Using the .NET SMTP client."
$body = "Using this .NET feature, you can send an e-mail message from an application very easily."

# Create meil message
$message = New-Object system.net.mail.MailMessage $from, $to, $subject, $body

#Create SMTP client
$server = "cookham8"
$port = 25
$client = New-Object system.Net.Mail.SmtpClient $server, $port

# Credentials are necessary if the server requires the client
# to authenticate before it will send e-mail on the client's behalf.
$client.Credentials = [system.Net.CredentialCache]::DefaultNetworkCredentials

# Try to send the message
try {
$client.Send($message)
"Message sent successfully"
}

# Catch an error
catch {
"Exception caught in CreateTestMessage1(): "
}
# End of Script

Page view tracker