Comment envoyer un e-mail en ASP.net C# ?

Avec ASP, on utilise la classe "SmtpClient" pour se connecter à un serveur SMTP. Voici comment faire.

Le langage ASP .NET permet de concevoir des sites internet avec la plateforme de développement .NET créée par Microsoft. Il est possible d'envoyer des mails en utilisant les classes appropriées.

Avec ASP, on utilise la classe "SmtpClient" pour se connecter à un serveur SMTP. Le constructeur de cette classe demande l'adresse du serveur et le port de connexion. Pour se connecter à son compte mail, la classe utilise les "credentials". Si la valeur "UseDefaultCredentials" est fixée à true, la plateforme utilisera les mêmes "credentials" que les informations de connexion au système, ou bien il essaiera de se connecter sans s'identifier. Si la valeur est fixée à "false", il utilise les "credentials" que vous indiquez dans le code. Il faut également renseigner la méthode de livraison (le réseau) et l'autoriser à utiliser le protocole SSL, qui est présent pour la plupart des serveurs mail aujourd'hui.

//Instanciation du client
SmtpClient smtpClient = new SmtpClient("mail.monNomDeDomaine.fr", 25);
//On indique au client d'utiliser les informations qu'on va lui fournir
smtpClient.UseDefaultCredentials = true;
//Ajout des informations de connexion
smtpClient.Credentials = new System.Net.NetworkCredential("info@monNomDeDomaine.fr", "monMotDePasse");
//On indique que l'on envoie le mail par le réseau
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
//On active le protocole SSL
smtpClient.EnableSsl = true;

La deuxième classe à utiliser est la classe mailMessage(), qui correspond au mail à proprement parler. On peut configurer les mêmes informations que quand on rédige un mail sur Internet : destinataire, sujet, message...

MailMessage mail = new MailMessage();
//Expéditeur
mail.From = new MailAddress("info@monNomDeDomaine.fr", "Mon site Internet");
//Destinataire
mail.To.Add(new MailAddress("destinateir@unAutreNomDeDomaine.com"));
//Copie
mail.CC.Add(new MailAddress("toto@gmail.com"));

Pour terminer, il suffit de demander au client d'envoyer le mail avec la méthode "send" :

smtpClient.Send(mail);