Condividi tramite


SmtpClient.Send Metodo

Definizione

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.

Impossibile recapitare l'oggetto message a uno dei destinatari in To, CCo Bcc.

Impossibile recapitare l'oggetto message a due o più destinatari in To, CCo Bcc.

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

from
String

Oggetto String contenente le informazioni sull'indirizzo del mittente del messaggio.

recipients
String

Oggetto String contenente gli indirizzi a cui viene inviato il messaggio.

subject
String

Oggetto String contenente la riga dell'oggetto per il messaggio.

body
String

Oggetto String contenente il corpo del messaggio.

Eccezioni

from è null.

oppure

recipients è null.

from è Empty.

oppure

recipients è Empty.

È 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.

Impossibile recapitare il messaggio a uno dei destinatari in To, CCo Bcc.

Impossibile recapitare il messaggio a due o più destinatari in To, CCo Bcc.

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