SmtpClient.Send Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
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 true
en 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
Excepciones
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.
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 true
en 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 .