SmtpClient.Send Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Invia un messaggio di posta elettronica a un server SMTP per il recapito. Questi metodi bloccano durante la trasmissione del messaggio.
Overload
| Nome | Descrizione |
|---|---|
| Send(MailMessage) |
Invia il messaggio specificato a un server SMTP per il recapito. |
| Send(String, String, String, String) |
Invia il messaggio di posta elettronica specificato a un server SMTP per il recapito. Il mittente del messaggio, i destinatari, l'oggetto e il corpo del messaggio vengono specificati utilizzando String oggetti . |
Send(MailMessage)
- Origine:
- SmtpClient.cs
- Origine:
- SmtpClient.cs
- Origine:
- SmtpClient.cs
- Origine:
- SmtpClient.cs
- Origine:
- SmtpClient.cs
Invia il messaggio specificato a un server SMTP per il recapito.
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)
Parametri
- message
- MailMessage
Oggetto MailMessage contenente il messaggio da inviare.
Eccezioni
message è null.
È SmtpClient già in corso un'altra operazione di invio.
oppure
From è null.
oppure
Non sono specificati destinatari nelle Toproprietà , CCe Bcc .
oppure
DeliveryMethod la proprietà è impostata su Network e Host è null.
oppure
DeliveryMethod la proprietà è impostata su Network e Host è uguale alla stringa vuota ("").
oppure
DeliveryMethod la proprietà è impostata su Network e Port è zero, un numero negativo o maggiore di 65.535.
Questo oggetto è stato eliminato.
Connessione al server SMTP non riuscita.
oppure
Autenticazione non riuscita.
oppure
Timeout dell'operazione.
oppure
EnableSsl è impostato su true ma la DeliveryMethod proprietà è impostata su SpecifiedPickupDirectory o PickupDirectoryFromIis.
oppure
EnableSsl è impostato su true, ma il server di posta SMTP non ha annunciato STARTTLS nella risposta al comando EHLO.
Esempio
Nell'esempio di codice seguente viene illustrato l'uso di questo metodo.
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());
}
}
Commenti
Questo metodo si blocca durante la trasmissione del messaggio di posta elettronica. È possibile specificare un valore di timeout usando la Timeout proprietà per assicurarsi che il metodo venga restituito dopo un intervallo di tempo specificato.
Prima di chiamare questo metodo, le Host proprietà e Port devono essere impostate tramite i file di configurazione impostando le proprietà pertinenti o passando queste informazioni nel SmtpClient(String, Int32) costruttore.
Non è possibile chiamare questo metodo se è presente un messaggio inviato in modo asincrono.
Se l'host SMTP richiede le credenziali, è necessario impostarle prima di chiamare questo metodo. Per specificare le credenziali, usare le UseDefaultCredentials proprietà o Credentials .
Se si riceve un'eccezione SmtpException , controllare la StatusCode proprietà per trovare il motivo per cui l'operazione non è riuscita. Può SmtpException inoltre contenere un'eccezione interna che indica il motivo per cui l'operazione non è riuscita.
Quando si invia un messaggio di posta elettronica utilizzando Send a più destinatari e il server SMTP accetta alcuni destinatari come validi e rifiuta altri, Send invia un messaggio di posta elettronica ai destinatari accettati e quindi viene generata un'eccezione SmtpFailedRecipientsException (o se SmtpFailedRecipientException viene rifiutato un solo destinatario). Contiene SmtpFailedRecipientsException un elenco dei destinatari rifiutati.
Annotazioni
Se la EnableSsl proprietà è impostata su truee il server di posta SMTP non annuncia STARTTLS nella risposta al comando EHLO, una chiamata ai Send metodi o SendAsync genererà un'eccezione SmtpException.
Si applica a
Send(String, String, String, String)
- Origine:
- SmtpClient.cs
- Origine:
- SmtpClient.cs
- Origine:
- SmtpClient.cs
- Origine:
- SmtpClient.cs
- Origine:
- SmtpClient.cs
Invia il messaggio di posta elettronica specificato a un server SMTP per il recapito. Il mittente del messaggio, i destinatari, l'oggetto e il corpo del messaggio vengono specificati utilizzando String oggetti .
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)
Parametri
Eccezioni
È SmtpClient già in corso un'altra operazione di invio.
oppure
DeliveryMethod la proprietà è impostata su Network e Host è null.
oppure
DeliveryMethod la proprietà è impostata su Network e Host è uguale alla stringa vuota ("").
oppure
DeliveryMethod la proprietà è impostata su Network e Port è zero, un numero negativo o maggiore di 65.535.
Questo oggetto è stato eliminato.
Connessione al server SMTP non riuscita.
oppure
Autenticazione non riuscita.
oppure
Timeout dell'operazione.
oppure
EnableSsl è impostato su true ma la DeliveryMethod proprietà è impostata su SpecifiedPickupDirectory o PickupDirectoryFromIis.
oppure
EnableSsl è impostato su true, ma il server di posta SMTP non ha annunciato STARTTLS nella risposta al comando EHLO.
Commenti
Questo metodo si blocca durante la trasmissione del messaggio di posta elettronica. È possibile specificare un valore di timeout usando la Timeout proprietà per assicurarsi che il metodo venga restituito dopo un intervallo di tempo specificato.
Prima di chiamare questo metodo, le Host proprietà e Port devono essere impostate tramite i file di configurazione impostando le proprietà pertinenti o passando queste informazioni nel SmtpClient(String, Int32) costruttore.
Non è possibile chiamare questo metodo se è presente un messaggio inviato in modo asincrono.
Se l'host SMTP richiede le credenziali, è necessario impostarle prima di chiamare questo metodo. Per specificare le credenziali, usare le UseDefaultCredentials proprietà o Credentials .
Se si riceve un'eccezione SmtpException , controllare la StatusCode proprietà per trovare il motivo per cui l'operazione non è riuscita. Può SmtpException inoltre contenere un'eccezione interna che indica il motivo per cui l'operazione non è riuscita.
Quando si invia un messaggio di posta elettronica utilizzando Send a più destinatari e il server SMTP accetta alcuni destinatari come validi e rifiuta altri, Send invia un messaggio di posta elettronica ai destinatari accettati e quindi viene generata un'eccezione SmtpFailedRecipientsException (o se SmtpFailedRecipientException viene rifiutato un solo destinatario). Contiene SmtpFailedRecipientsException un elenco dei destinatari rifiutati.
Annotazioni
Se la EnableSsl proprietà è impostata su truee il server di posta SMTP non annuncia STARTTLS nella risposta al comando EHLO, una chiamata ai Send metodi o SendAsync genererà un'eccezione SmtpException.