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 entrega a um servidor SMTP. Esses métodos bloqueiam enquanto a mensagem está sendo transmitida.
Sobrecargas
Send(MailMessage) |
Envia a mensagem especificada para entrega a um servidor SMTP. |
Send(String, String, String, String) |
Envia a mensagem de email especificada para entrega a um servidor SMTP. O remetente, os destinatários, o assunto e o corpo da mensagem são especificados usando objetos String. |
Send(MailMessage)
- Origem:
- SmtpClient.cs
- Origem:
- SmtpClient.cs
- Origem:
- SmtpClient.cs
Envia a mensagem especificada para entrega a um servidor SMTP.
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á nenhum destinatário especificado nas propriedades To, CC e Bcc.
- ou -
A propriedade DeliveryMethod é definida como Network e Host é null
.
- ou -
A propriedade DeliveryMethod é definida como Network e Host é igual à cadeia de caracteres vazia ("").
- ou -
A propriedade DeliveryMethod é definida como Network e Port é zero, um número negativo ou maior que 65.535.
O objeto foi descartado.
Falha na conexão com o servidor SMTP.
- ou -
Falha na autenticação.
- ou -
Tempo limite da operação esgotado.
- ou -
EnableSsl é definido como true
, mas a propriedade DeliveryMethod é definida como SpecifiedPickupDirectory ou PickupDirectoryFromIis.
- ou -
EnableSsl é definido como true,
, mas o servidor de email SMTP não anunciou STARTTLS na resposta para o comando EHLO.
Exemplos
O exemplo de código a seguir demonstra o uso desse 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());
}
}
Comentários
Esse método é bloqueado 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 um período especificado de tempo decorrido.
Antes de chamar esse método, as Host propriedades e Port 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 UseDefaultCredentials propriedades ou Credentials .
Se você receber uma exceçãoSmtpException, marcar a StatusCode propriedade para localizar o motivo pelo qual a operação falhou. O SmtpException também pode conter uma exceção interna que indica o motivo pelo qual a operação falhou.
Ao enviar emails usando Send para 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 true
como 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
Envia a mensagem de email especificada para entrega a um servidor SMTP. O remetente, os destinatários, o assunto e o corpo da mensagem são especificados usando 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
Exceções
Isso SmtpClient tem outra operação de envio já em andamento.
- ou -
A propriedade DeliveryMethod é definida como Network e Host é null
.
- ou -
A propriedade DeliveryMethod é definida como Network e Host é igual à cadeia de caracteres vazia ("").
- ou -
A propriedade DeliveryMethod é definida como Network e Port é zero, um número negativo ou maior que 65.535.
O objeto foi descartado.
Falha na conexão com o servidor SMTP.
- ou -
Falha na autenticação.
- ou -
Tempo limite da operação esgotado.
- ou -
EnableSsl é definido como true
, mas a propriedade DeliveryMethod é definida como SpecifiedPickupDirectory ou PickupDirectoryFromIis.
- ou -
EnableSsl é definido como true,
, mas o servidor de email SMTP não anunciou STARTTLS na resposta para o comando EHLO.
Comentários
Esse método é bloqueado 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 um período especificado de tempo decorrido.
Antes de chamar esse método, as Host propriedades e Port 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 UseDefaultCredentials propriedades ou Credentials .
Se você receber uma exceçãoSmtpException, marcar a StatusCode propriedade para localizar o motivo pelo qual a operação falhou. O SmtpException também pode conter uma exceção interna que indica o motivo pelo qual a operação falhou.
Ao enviar emails usando Send para 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 true
como 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.