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 la consegna. Questi metodi effettuano il blocco mentre il messaggio viene trasmesso.
Overload
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 la consegna. Il mittente, i destinatari, l'oggetto e il corpo del messaggio vengono specificati mediante gli oggetti String. |
Send(MailMessage)
- Source:
- SmtpClient.cs
- Source:
- SmtpClient.cs
- Source:
- 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
Classe MailMessage contenente il messaggio da inviare.
Eccezioni
message
è null
.
Si SmtpClient tratta di un'altra operazione di invio già in corso.
-oppure-
From è null
.
-oppure-
Non esistono destinatari specificati nelle proprietà To, CC e Bcc.
-oppure-
La proprietà DeliveryMethod è impostata su Network e Host è null
.
-oppure-
La proprietà DeliveryMethod è impostata su Network e Host è uguale alla stringa vuota ("").
-oppure-
proprietà DeliveryMethod è impostata su Network e Port è zero, un numero negativo o maggiore di 65.535.
L'oggetto è stato eliminato.
La connessione al server SMTP ha avuto esito negativo.
-oppure-
Autenticazione non riuscita.
-oppure-
Timeout dell'operazione.
-oppure-
EnableSsl è impostato su true
ma la proprietà DeliveryMethod è impostata su SpecifiedPickupDirectory o PickupDirectoryFromIis.
-oppure-
EnableSsl viene impostato su true,
ma il server di posta SMTP non annuncia STARTTLS nella risposta al comando EHLO.
Esempio
Nell'esempio di codice seguente viene illustrato l'uso di questo metodo.
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());
}
}
Commenti
Questo metodo blocca mentre viene trasmesso il 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 proprietà per trovare il StatusCode motivo per cui l'operazione non è riuscita. Può SmtpException anche contenere un'eccezione interna che indica il motivo per cui l'operazione non è riuscita.
Quando si invia un messaggio di posta elettronica tramite Send 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 generato un messaggio di posta elettronica (o un SmtpFailedRecipientsExceptionSmtpFailedRecipientException solo destinatario viene rifiutato). Contiene SmtpFailedRecipientsException un elenco dei destinatari rifiutati.
Nota
Se la EnableSsl proprietà è impostata su true
e il server di posta SMTP non annuncia STARTTLS nella risposta al comando EHLO, verrà generata una SmtpExceptionchiamata ai Send metodi o SendAsync .
Si applica a
Send(String, String, String, String)
- Source:
- SmtpClient.cs
- Source:
- SmtpClient.cs
- Source:
- SmtpClient.cs
Invia il messaggio di posta elettronica specificato a un server SMTP per la consegna. Il mittente, i destinatari, l'oggetto e il corpo del messaggio vengono specificati mediante gli oggetti 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)
Parametri
Eccezioni
Si SmtpClient tratta di un'altra operazione di invio già in corso.
-oppure-
La proprietà DeliveryMethod è impostata su Network e Host è null
.
-oppure-
La proprietà DeliveryMethod è impostata su Network e Host è uguale alla stringa vuota ("").
-oppure-
proprietà DeliveryMethod è impostata su Network e Port è zero, un numero negativo o maggiore di 65.535.
L'oggetto è stato eliminato.
La connessione al server SMTP ha avuto esito negativo.
-oppure-
Autenticazione non riuscita.
-oppure-
Timeout dell'operazione.
-oppure-
EnableSsl è impostato su true
ma la proprietà DeliveryMethod è impostata su SpecifiedPickupDirectory o PickupDirectoryFromIis.
-oppure-
EnableSsl viene impostato su true,
ma il server di posta SMTP non annuncia STARTTLS nella risposta al comando EHLO.
Commenti
Questo metodo blocca mentre viene trasmesso il 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 proprietà per trovare il StatusCode motivo per cui l'operazione non è riuscita. Può SmtpException anche contenere un'eccezione interna che indica il motivo per cui l'operazione non è riuscita.
Quando si invia un messaggio di posta elettronica tramite Send 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 generato un messaggio di posta elettronica (o un SmtpFailedRecipientsExceptionSmtpFailedRecipientException solo destinatario viene rifiutato). Contiene SmtpFailedRecipientsException un elenco dei destinatari rifiutati.
Nota
Se la EnableSsl proprietà è impostata su true
e il server di posta SMTP non annuncia STARTTLS nella risposta al comando EHLO, verrà generata una SmtpExceptionchiamata ai Send metodi o SendAsync .
Si applica a
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per