Vous trouverez les informations nécessaires pour l’envoi d’un email classique dans le billet suivant. Enc e qui conserne l’envoi d’un email de manière asynchrone, vous trouverez le nécessaire dans le billet suivant.

Certains serveur d’emails nécessitent une idéntification du client afin qu’ils ne soient pas utilisables par n’importe qui, c’est le cas pour le serveur de Google, gmail.

using (SmtpClient smtpClient = new SmtpClient("localhost"))
{
    smtpClient.UseDefaultCredentials = false;
    smtpClient.Credentials = new NetworkCredential("myadress@gmail.com", "password");

    MailMessage message = new MailMessage();

    message.From = new MailAddress("sample@mail.com", "Display Name");
    message.To.Add("dest@mail.com");
    message.Subject = "Subject email";
    message.Body = "Content email";
    message.IsBodyHtml = false;

    smtpClient.Send(message);
}

La propriété Credentials vous permettra de fournir les informations d’identification. Quant à la propriété UseDefaultCredentials, il n’est pas nécessaire de la renseigner car par défaut, sa valeur est false. Il est par contre intéressant de la définir à true sans rien renseigner d’autre afin d’utiliser les informations courantes de l’utilisateur connecté. Cela est utilisé dans le cas d’identification serveur à serveur.

Notez aussi que dans de nombreux cas de serveur sécurisé, le port est différent. Vous pourrez changer sa valeur via la propriété Port sur l’objet smtpClient (dans le cas de gmail, le port est 587).

Plus d’informations sur la méthode Credentials sur MSDN.