Partager via


SmtpClient.Send Méthode

Définition

Envoie un e-mail à un serveur SMTP en vue de sa remise. Ces méthodes bloquent l'exécution pendant la transmission du message.

Surcharges

Send(MailMessage)

Envoie le message spécifié à un serveur SMTP en vue de sa remise.

Send(String, String, String, String)

Envoie l’e-mail spécifié à un serveur SMTP en vue de sa remise. L'expéditeur, les destinataires, l'objet et le corps du message sont spécifiés à l'aide d'objets String.

Send(MailMessage)

Source:
SmtpClient.cs
Source:
SmtpClient.cs
Source:
SmtpClient.cs

Envoie le message spécifié à un serveur SMTP en vue de sa remise.

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)

Paramètres

message
MailMessage

MailMessage qui contient le message à envoyer.

Exceptions

message a la valeur null.

Une SmtpClient autre opération d’envoi est déjà en cours.

-ou-

From a la valeur null.

- ou -

Il n'y a pas de destinataires spécifiés dans les propriétés To, CC et Bcc.

- ou -

La propriété DeliveryMethod est définie sur Network et Host a la valeur null.

- ou -

La propriété DeliveryMethod est définie sur Network et Host est égal à la chaîne vide ("").

- ou -

La propriété DeliveryMethod a la valeur Network et la valeur de Port est zéro, un nombre négatif ou un nombre supérieur à 65 535.

Cet objet a été supprimé.

La connexion au serveur SMTP a échoué.

- ou -

Échec de l'authentification.

- ou -

L'opération a expiré.

- ou -

EnableSsl est défini sur true, mais la propriété DeliveryMethod est définie sur SpecifiedPickupDirectory ou PickupDirectoryFromIis.

- ou -

EnableSsl a la valeur true, mais le serveur de messagerie SMTP n'a pas publié STARTTLS dans la réponse à la commande EHLO.

Le message n’a pas pu être remis à l’un des destinataires dans To, CC ou Bcc.

Le message n’a pas pu être remis à deux destinataires ou plus dans To, CC ou Bcc.

Exemples

L’exemple de code suivant illustre l’utilisation de cette méthode.

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());
    }
}

Remarques

Cette méthode est bloquée pendant la transmission de l’e-mail. Vous pouvez spécifier une valeur de délai d’attente à l’aide de la Timeout propriété pour vous assurer que la méthode retourne après l’expiration d’un délai spécifié.

Avant d’appeler cette méthode, les Host propriétés et Port doivent être définies via les fichiers de configuration en définissant les propriétés appropriées, ou en transmettant ces informations au SmtpClient(String, Int32) constructeur.

Vous ne pouvez pas appeler cette méthode si un message est envoyé de manière asynchrone.

Si l’hôte SMTP nécessite des informations d’identification, vous devez les définir avant d’appeler cette méthode. Pour spécifier des informations d’identification, utilisez les UseDefaultCredentials propriétés ou Credentials .

Si vous recevez une SmtpException exception, case activée la StatusCode propriété pour trouver la raison de l’échec de l’opération. peut SmtpException également contenir une exception interne qui indique la raison de l’échec de l’opération.

Lors de l’envoi d’e-mails à l’aide Send de plusieurs destinataires et que le serveur SMTP accepte certains destinataires comme valides et rejette d’autres, Send envoie un e-mail aux destinataires acceptés, puis un SmtpFailedRecipientsException est levée (ou un SmtpFailedRecipientException si un seul destinataire est rejeté). Un SmtpFailedRecipientsException contient la liste des destinataires qui ont été rejetés.

Notes

Si la propriété a la EnableSsltruevaleur et que le serveur de messagerie SMTP ne publie pas STARTTLS dans la réponse à la commande EHLO, un appel aux Send méthodes ou SendAsync lève un SmtpException.

S’applique à

Send(String, String, String, String)

Source:
SmtpClient.cs
Source:
SmtpClient.cs
Source:
SmtpClient.cs

Envoie l’e-mail spécifié à un serveur SMTP en vue de sa remise. L'expéditeur, les destinataires, l'objet et le corps du message sont spécifiés à l'aide d'objets 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)

Paramètres

from
String

String qui contient les informations d'adresse de l'expéditeur du message.

recipients
String

String qui contient les adresses auxquelles le message est envoyé.

subject
String

String qui contient la ligne d'objet du message.

body
String

String qui contient le corps du message.

Exceptions

from a la valeur null.

-ou-

recipients a la valeur null.

from a la valeur Empty.

-ou-

recipients a la valeur Empty.

Une SmtpClient autre opération d’envoi est déjà en cours.

- ou -

La propriété DeliveryMethod est définie sur Network et Host a la valeur null.

- ou -

La propriété DeliveryMethod est définie sur Network et Host est égal à la chaîne vide ("").

- ou -

La propriété DeliveryMethod a la valeur Network et la valeur de Port est zéro, un nombre négatif ou un nombre supérieur à 65 535.

Cet objet a été supprimé.

La connexion au serveur SMTP a échoué.

- ou -

Échec de l'authentification.

- ou -

L'opération a expiré.

- ou -

EnableSsl est défini sur true, mais la propriété DeliveryMethod est définie sur SpecifiedPickupDirectory ou PickupDirectoryFromIis.

- ou -

EnableSsl a la valeur true, mais le serveur de messagerie SMTP n'a pas publié STARTTLS dans la réponse à la commande EHLO.

Le message n’a pas pu être remis à l’un des destinataires dans To, CC ou Bcc.

Le message n’a pas pu être remis à deux destinataires ou plus dans To, CC ou Bcc.

Remarques

Cette méthode est bloquée pendant la transmission de l’e-mail. Vous pouvez spécifier une valeur de délai d’attente à l’aide de la Timeout propriété pour vous assurer que la méthode retourne après l’expiration d’un délai spécifié.

Avant d’appeler cette méthode, les Host propriétés et Port doivent être définies via les fichiers de configuration en définissant les propriétés appropriées, ou en transmettant ces informations au SmtpClient(String, Int32) constructeur.

Vous ne pouvez pas appeler cette méthode si un message est envoyé de manière asynchrone.

Si l’hôte SMTP nécessite des informations d’identification, vous devez les définir avant d’appeler cette méthode. Pour spécifier des informations d’identification, utilisez les UseDefaultCredentials propriétés ou Credentials .

Si vous recevez une SmtpException exception, case activée la StatusCode propriété pour trouver la raison de l’échec de l’opération. peut SmtpException également contenir une exception interne qui indique la raison de l’échec de l’opération.

Lors de l’envoi d’e-mails à l’aide Send de plusieurs destinataires et que le serveur SMTP accepte certains destinataires comme valides et rejette d’autres, Send envoie un e-mail aux destinataires acceptés, puis un SmtpFailedRecipientsException est levée (ou un SmtpFailedRecipientException si un seul destinataire est rejeté). Un SmtpFailedRecipientsException contient la liste des destinataires qui ont été rejetés.

Notes

Si la propriété a la EnableSsltruevaleur et que le serveur de messagerie SMTP ne publie pas STARTTLS dans la réponse à la commande EHLO, un appel aux Send méthodes ou SendAsync lève un SmtpException.

S’applique à