Compartir a través de


SmtpClient.Send Método

Definición

Envía un mensaje de correo electrónico a un servidor SMTP para su entrega. Estos métodos se bloquean mientras se transmite el mensaje.

Sobrecargas

Send(MailMessage)

Envía el mensaje especificado a un servidor SMTP para su entrega.

Send(String, String, String, String)

Envía el mensaje de correo electrónico especificado a un servidor SMTP para su entrega. El remitente del mensaje, los destinatarios, el asunto y el cuerpo del mensaje se especifican mediante objetos String.

Send(MailMessage)

Source:
SmtpClient.cs
Source:
SmtpClient.cs
Source:
SmtpClient.cs

Envía el mensaje especificado a un servidor SMTP para su entrega.

public:
 void Send(System::Net::Mail::MailMessage ^ message);
public void Send (System.Net.Mail.MailMessage message);
member this.Send : System.Net.Mail.MailMessage -> unit
Public Sub Send (message As MailMessage)

Parámetros

message
MailMessage

Objeto MailMessage que contiene el mensaje que se va a enviar.

Excepciones

message es null.

Tiene SmtpClient otra operación de envío que ya está en curso.

O bien

From es null.

o bien

No hay ningún destinatario especificado en las propiedades To, CC y Bcc

o bien

La propiedad DeliveryMethod se establece en Network y Host es null.

o bien

La propiedad DeliveryMethod se establece en Network y Hostes igual a la cadena vacía ("").

o bien

La propiedad DeliveryMethod se establece en Network y Port es cero, un número negativo o mayor que 65.535.

Este objeto se ha eliminado.

Se ha producido un error de conexión al servidor SMTP.

o bien

Error de autenticación.

o bien

La operación agotó el tiempo de espera.

o bien

EnableSsl se establece en true pero la propiedad DeliveryMethod se establece en SpecifiedPickupDirectory o PickupDirectoryFromIis.

o bien

EnableSsl está establecido en true, pero el servidor de correo de SMTP no anunció STARTTLS en la respuesta al comando EHLO.

No se pudo entregar message a uno de los destinatarios en To, CC o Bcc.

No se pudo entregar message a dos o más de los destinatarios en To, CC o Bcc.

Ejemplos

En el ejemplo de código siguiente se muestra el uso de este método.

static void CreateTestMessage2( String^ server )
{
   String^ to = L"jane@contoso.com";
   String^ from = L"ben@contoso.com";
   MailMessage^ message = gcnew MailMessage( from,to );
   message->Subject = L"Using the new SMTP client.";
   message->Body = L"Using this new feature, you can send an email message from an application very easily.";
   SmtpClient^ client = gcnew SmtpClient( server );
   
   // Credentials are necessary if the server requires the client 
   // to authenticate before it will send email on the client's behalf.
   client->UseDefaultCredentials = true;
   client->Send( message );
   client->~SmtpClient();
}
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 email 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 email on the client's behalf.
    client.UseDefaultCredentials = true;

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in CreateTestMessage2(): {0}",
            ex.ToString());
    }
}

Comentarios

Este método se bloquea mientras se transmite el correo electrónico. Puede especificar un valor de tiempo de espera mediante la Timeout propiedad para asegurarse de que el método devuelve una vez transcurrido un período de tiempo especificado.

Antes de llamar a este método, las Host propiedades y Port deben establecerse a través de los archivos de configuración estableciendo las propiedades pertinentes o pasando esta información al SmtpClient(String, Int32) constructor.

No puede llamar a este método si hay un mensaje que se envía de forma asincrónica.

Si el host SMTP requiere credenciales, debe establecerlas antes de llamar a este método. Para especificar las credenciales, use las UseDefaultCredentials propiedades o Credentials .

Si recibe una SmtpException excepción, compruebe la StatusCode propiedad para encontrar el motivo por el que se produjo un error en la operación. SmtpException También puede contener una excepción interna que indica el motivo por el que se produjo un error en la operación.

Al enviar correo electrónico usando Send a varios destinatarios y el servidor SMTP acepta algunos destinatarios como válidos y rechaza otros, envía correo electrónico a los destinatarios aceptados y, a continuación, Send se produce una SmtpFailedRecipientsException excepción (o si SmtpFailedRecipientException solo se rechaza un destinatario). Contiene SmtpFailedRecipientsException una lista de los destinatarios que se rechazaron.

Nota

Si la EnableSsl propiedad se establece trueen y el servidor de correo SMTP no anuncia STARTTLS en la respuesta al comando EHLO, una llamada a los Send métodos o SendAsync producirá una SmtpExceptionexcepción .

Se aplica a

Send(String, String, String, String)

Source:
SmtpClient.cs
Source:
SmtpClient.cs
Source:
SmtpClient.cs

Envía el mensaje de correo electrónico especificado a un servidor SMTP para su entrega. El remitente del mensaje, los destinatarios, el asunto y el cuerpo del mensaje se especifican mediante objetos String.

public:
 void Send(System::String ^ from, System::String ^ recipients, System::String ^ subject, System::String ^ body);
public void Send (string from, string recipients, string? subject, string? body);
public void Send (string from, string recipients, string subject, string body);
member this.Send : string * string * string * string -> unit
Public Sub Send (from As String, recipients As String, subject As String, body As String)

Parámetros

from
String

Objeto String que contiene la información de dirección del remitente del mensaje.

recipients
String

Objeto String que contiene las direcciones a las que se envía el mensaje.

subject
String

Objeto String que contiene la línea de asunto del mensaje.

body
String

Objeto String que contiene el cuerpo del mensaje.

Excepciones

from es null.

O bien

recipients es null.

from es Empty.

O bien

recipients es Empty.

Tiene SmtpClient otra operación de envío que ya está en curso.

o bien

La propiedad DeliveryMethod se establece en Network y Host es null.

o bien

La propiedad DeliveryMethod se establece en Network y Hostes igual a la cadena vacía ("").

o bien

La propiedad DeliveryMethod se establece en Network y Port es cero, un número negativo o mayor que 65.535.

Este objeto se ha eliminado.

Se ha producido un error de conexión al servidor SMTP.

o bien

Error de autenticación.

o bien

La operación agotó el tiempo de espera.

o bien

EnableSsl se establece en true pero la propiedad DeliveryMethod se establece en SpecifiedPickupDirectory o PickupDirectoryFromIis.

o bien

EnableSsl está establecido en true, pero el servidor de correo de SMTP no anunció STARTTLS en la respuesta al comando EHLO.

No se pudo entregar message a uno de los destinatarios en To, CC o Bcc.

No se pudo entregar message a dos o más de los destinatarios en To, CC o Bcc.

Comentarios

Este método se bloquea mientras se transmite el correo electrónico. Puede especificar un valor de tiempo de espera mediante la Timeout propiedad para asegurarse de que el método devuelve una vez transcurrido un período de tiempo especificado.

Antes de llamar a este método, las Host propiedades y Port deben establecerse a través de los archivos de configuración estableciendo las propiedades pertinentes o pasando esta información al SmtpClient(String, Int32) constructor.

No puede llamar a este método si hay un mensaje que se envía de forma asincrónica.

Si el host SMTP requiere credenciales, debe establecerlas antes de llamar a este método. Para especificar las credenciales, use las UseDefaultCredentials propiedades o Credentials .

Si recibe una SmtpException excepción, compruebe la StatusCode propiedad para encontrar el motivo por el que se produjo un error en la operación. SmtpException También puede contener una excepción interna que indica el motivo por el que se produjo un error en la operación.

Al enviar correo electrónico usando Send a varios destinatarios y el servidor SMTP acepta algunos destinatarios como válidos y rechaza otros, envía correo electrónico a los destinatarios aceptados y, a continuación, Send se produce una SmtpFailedRecipientsException excepción (o si SmtpFailedRecipientException solo se rechaza un destinatario). Contiene SmtpFailedRecipientsException una lista de los destinatarios que se rechazaron.

Nota

Si la EnableSsl propiedad se establece trueen y el servidor de correo SMTP no anuncia STARTTLS en la respuesta al comando EHLO, una llamada a los Send métodos o SendAsync producirá una SmtpExceptionexcepción .

Se aplica a