SmtpClient.Send Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Envia uma mensagem de email para um servidor SMTP para entrega. Estes métodos bloqueiam enquanto a mensagem está a ser transmitida.
Sobrecargas
| Name | 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, destinatários, assunto e 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
A MailMessage que contém a mensagem a enviar.
Exceções
message é null.
Isto SmtpClient já tem outra operação de envio em curso.
-ou-
From é null.
-ou-
Não existem destinatários especificados em To, CC, e Bcc propriedades.
-ou-
DeliveryMethod a propriedade é definida como Network e Host é null.
-ou-
DeliveryMethod a propriedade é definida como Network e Host é igual à cadeia vazia ("").
-ou-
DeliveryMethod a propriedade é definida como Network e Port é zero, um número negativo, ou maior que 65.535.
Este objeto foi descartado.
A ligação ao servidor SMTP falhou.
-ou-
Falha na autenticação.
-ou-
A operação expirou.
-ou-
EnableSsl é definido como true mas a DeliveryMethod propriedade está definida como SpecifiedPickupDirectory ou PickupDirectoryFromIis.
-ou-
EnableSsl está definido para true, , mas o servidor de email SMTP não anunciou o STARTTLS na resposta ao comando EHLO.
Exemplos
O exemplo de código seguinte demonstra o uso deste 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());
}
}
Observações
Este método bloqueia enquanto o email é transmitido. Pode especificar um valor de time-out usando a Timeout propriedade para garantir que o método retorna após um determinado período de tempo.
Antes de chamar este método, as Host propriedades e Port devem ser definidas ou através dos ficheiros de configuração, definindo as propriedades relevantes, ou passando esta informação para o SmtpClient(String, Int32) construtor.
Não pode chamar este método se houver uma mensagem a ser enviada de forma assíncrona.
Se o host SMTP exigir credenciais, deve defini-las antes de chamar este método. Para especificar credenciais, use as UseDefaultCredentials propriedades ou.Credentials
Se receber uma SmtpException exceção, verifique a StatusCode propriedade para encontrar a razão da falha da operação. Pode SmtpException também conter uma exceção interna que indica a razão pela qual a operação falhou.
Ao enviar email para Send vários destinatários, o servidor SMTP aceita alguns destinatários como válidos e rejeita outros, Send envia email aos destinatários aceites e depois é lançado a SmtpFailedRecipientsException (ou a SmtpFailedRecipientException se apenas um destinatário for rejeitado). A SmtpFailedRecipientsException contém uma lista dos destinatários que foram rejeitados.
Note
Se a EnableSsl propriedade estiver definida para true, e o servidor de email SMTP não anunciar STARTTLS na resposta ao comando EHLO, então uma chamada aos Send métodos ou SendAsync irá lançar 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, destinatários, assunto e 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
Isto SmtpClient já tem outra operação de envio em curso.
-ou-
DeliveryMethod a propriedade é definida como Network e Host é null.
-ou-
DeliveryMethod a propriedade é definida como Network e Host é igual à cadeia vazia ("").
-ou-
DeliveryMethod a propriedade é definida como Network e Port é zero, um número negativo, ou maior que 65.535.
Este objeto foi descartado.
A ligação ao servidor SMTP falhou.
-ou-
Falha na autenticação.
-ou-
A operação expirou.
-ou-
EnableSsl é definido como true mas a DeliveryMethod propriedade está definida como SpecifiedPickupDirectory ou PickupDirectoryFromIis.
-ou-
EnableSsl está definido para true, , mas o servidor de email SMTP não anunciou o STARTTLS na resposta ao comando EHLO.
Observações
Este método bloqueia enquanto o email é transmitido. Pode especificar um valor de time-out usando a Timeout propriedade para garantir que o método retorna após um determinado período de tempo.
Antes de chamar este método, as Host propriedades e Port devem ser definidas ou através dos ficheiros de configuração, definindo as propriedades relevantes, ou passando esta informação para o SmtpClient(String, Int32) construtor.
Não pode chamar este método se houver uma mensagem a ser enviada de forma assíncrona.
Se o host SMTP exigir credenciais, deve defini-las antes de chamar este método. Para especificar credenciais, use as UseDefaultCredentials propriedades ou.Credentials
Se receber uma SmtpException exceção, verifique a StatusCode propriedade para encontrar a razão da falha da operação. Pode SmtpException também conter uma exceção interna que indica a razão pela qual a operação falhou.
Ao enviar email para Send vários destinatários, o servidor SMTP aceita alguns destinatários como válidos e rejeita outros, Send envia email aos destinatários aceites e depois é lançado a SmtpFailedRecipientsException (ou a SmtpFailedRecipientException se apenas um destinatário for rejeitado). A SmtpFailedRecipientsException contém uma lista dos destinatários que foram rejeitados.
Note
Se a EnableSsl propriedade estiver definida para true, e o servidor de email SMTP não anunciar STARTTLS na resposta ao comando EHLO, então uma chamada aos Send métodos ou SendAsync irá lançar um SmtpException.