Compartilhar via


SmtpClient.Send Método

Definição

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.

Não message foi possível entregar a um dos destinatários em To, CCou Bcc.

Não message foi possível entregar a dois ou mais destinatários em To, CCou Bcc.

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

from
String

Um String que contém as informações de endereço do remetente da mensagem.

recipients
String

Um String que contém os endereços para os quais a mensagem é enviada.

subject
String

Um String que contém a linha de assunto da mensagem.

body
String

Um String que contém o corpo da mensagem.

Exceções

from é null.

- ou -

recipients é null.

from é Empty.

- ou -

recipients é Empty.

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.

A mensagem não pôde ser entregue a um dos destinatários em To, CCou Bcc.

A mensagem não pôde ser entregue a dois ou mais destinatários em To, CCou Bcc.

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