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