SmtpClient.Send Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Envia uma mensagem de email para um servidor SMTP para entrega. Esses métodos bloqueiam enquanto a mensagem está sendo transmitida.
Sobrecargas
| Nome | Description |
|---|---|
| Send(MailMessage) |
Envia a mensagem especificada para um servidor SMTP para entrega. |
| Send(String, String, String, String) |
Envia a mensagem de email especificada para um servidor SMTP para entrega. O remetente da mensagem, os destinatários, o assunto e o corpo da mensagem são especificados usando String objetos. |
Send(MailMessage)
- Origem:
- SmtpClient.cs
- Origem:
- SmtpClient.cs
- Origem:
- SmtpClient.cs
- Origem:
- SmtpClient.cs
- Origem:
- SmtpClient.cs
Envia a mensagem especificada para um servidor SMTP para 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
Um MailMessage que contém a mensagem a ser enviada.
Exceções
message é null.
Isso SmtpClient tem outra operação de envio já em andamento.
- ou -
From é null.
- ou -
Não há destinatários especificados em To, CCe Bcc propriedades.
- ou -
DeliveryMethod a propriedade é definida como Network e Host é null.
- ou -
DeliveryMethod a propriedade é definida Network como e Host é igual à cadeia de caracteres vazia ("").
- ou -
DeliveryMethod a propriedade é definida Network como e Port é zero, um número negativo ou maior que 65.535.
Este objeto foi descartado.
Falha na conexão com o servidor SMTP.
- ou -
Falha na autenticação.
- ou -
A operação atingiu o tempo limite.
- ou -
EnableSsl é definido como true , mas a DeliveryMethod propriedade está definida como SpecifiedPickupDirectory ou PickupDirectoryFromIis.
- ou -
EnableSsl é definido como true, , mas o servidor de email SMTP não anunciou STARTTLS na resposta ao comando EHLO.
Exemplos
O exemplo de código a seguir demonstra o uso desse método.
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());
}
}
Comentários
Esse método bloqueia enquanto o email é transmitido. Você pode especificar um valor de tempo limite usando a Timeout propriedade para garantir que o método retorne após uma quantidade especificada de tempo decorrido.
Antes de chamar esse método, as propriedades e Port as Host propriedades devem ser definidas por meio dos arquivos de configuração definindo as propriedades relevantes ou passando essas informações para o SmtpClient(String, Int32) construtor.
Você não poderá chamar esse método se houver uma mensagem sendo enviada de forma assíncrona.
Se o host SMTP exigir credenciais, você deverá defini-las antes de chamar esse método. Para especificar credenciais, use as propriedades ou Credentials as UseDefaultCredentials propriedades.
Se você receber uma exceção SmtpException , verifique a StatusCode propriedade para localizar o motivo pela qual a operação falhou. Também SmtpException pode conter uma exceção interna que indica o motivo da falha da operação.
Ao enviar emails usando Send vários destinatários e o servidor SMTP aceita alguns destinatários como válidos e rejeita outros, Send envia emails para os destinatários aceitos e, em seguida, um SmtpFailedRecipientsException é lançado (ou um SmtpFailedRecipientException se apenas um destinatário for rejeitado). Um SmtpFailedRecipientsException contém uma lista dos destinatários que foram rejeitados.
Observação
Se a EnableSsl propriedade estiver definida como true, e o servidor de email SMTP não anunciar STARTTLS na resposta ao comando EHLO, uma chamada para os Send métodos ou SendAsync gerará um SmtpException.
Aplica-se a
Send(String, String, String, String)
- Origem:
- SmtpClient.cs
- Origem:
- SmtpClient.cs
- Origem:
- SmtpClient.cs
- Origem:
- SmtpClient.cs
- Origem:
- SmtpClient.cs
Envia a mensagem de email especificada para um servidor SMTP para entrega. O remetente da mensagem, os destinatários, o assunto e o corpo da mensagem são especificados usando String objetos.
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
Exceções
Isso SmtpClient tem outra operação de envio já em andamento.
- ou -
DeliveryMethod a propriedade é definida como Network e Host é null.
- ou -
DeliveryMethod a propriedade é definida Network como e Host é igual à cadeia de caracteres vazia ("").
- ou -
DeliveryMethod a propriedade é definida Network como e Port é zero, um número negativo ou maior que 65.535.
Este objeto foi descartado.
Falha na conexão com o servidor SMTP.
- ou -
Falha na autenticação.
- ou -
A operação atingiu o tempo limite.
- ou -
EnableSsl é definido como true , mas a DeliveryMethod propriedade está definida como SpecifiedPickupDirectory ou PickupDirectoryFromIis.
- ou -
EnableSsl é definido como true, , mas o servidor de email SMTP não anunciou STARTTLS na resposta ao comando EHLO.
Comentários
Esse método bloqueia enquanto o email é transmitido. Você pode especificar um valor de tempo limite usando a Timeout propriedade para garantir que o método retorne após uma quantidade especificada de tempo decorrido.
Antes de chamar esse método, as propriedades e Port as Host propriedades devem ser definidas por meio dos arquivos de configuração definindo as propriedades relevantes ou passando essas informações para o SmtpClient(String, Int32) construtor.
Você não poderá chamar esse método se houver uma mensagem sendo enviada de forma assíncrona.
Se o host SMTP exigir credenciais, você deverá defini-las antes de chamar esse método. Para especificar credenciais, use as propriedades ou Credentials as UseDefaultCredentials propriedades.
Se você receber uma exceção SmtpException , verifique a StatusCode propriedade para localizar o motivo pela qual a operação falhou. Também SmtpException pode conter uma exceção interna que indica o motivo da falha da operação.
Ao enviar emails usando Send vários destinatários e o servidor SMTP aceita alguns destinatários como válidos e rejeita outros, Send envia emails para os destinatários aceitos e, em seguida, um SmtpFailedRecipientsException é lançado (ou um SmtpFailedRecipientException se apenas um destinatário for rejeitado). Um SmtpFailedRecipientsException contém uma lista dos destinatários que foram rejeitados.
Observação
Se a EnableSsl propriedade estiver definida como true, e o servidor de email SMTP não anunciar STARTTLS na resposta ao comando EHLO, uma chamada para os Send métodos ou SendAsync gerará um SmtpException.