Dans beaucoup d’applications, pas uniquement web, nous avons besoin d’envoyer des mails, comme par exemple lors d’une inscription sur notre site ou encore une newsletter.
Voici donc un petit snippet sur comment envoyer un mail a plusieurs utilisateurs.
La classe MailHelper.cs :
public class MailHelper { public static void SendMail(string[] adresses, string subject, string message) { try { MailMessage mail = new MailMessage(); //ajouter les destinataires foreach (string adress in adresses) { mail.To.Add(adress); } mail.Subject = subject; mail.Body = message; //définir l'expéditeur mail.From = new MailAddress("no-replay@mon-site.fr", "Webmaster & News"); //définir les paramètres smtp pour l'envoi SmtpClient smtpServer = new SmtpClient { Host = "smtp.mon-site.fr", Port = 587, EnableSsl = false, DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, Credentials = new NetworkCredential("moi@mon-site.fr", "mot-de-passe") }; //envoi du mail smtpServer.Send(mail); } catch (Exception e) { Console.WriteLine(e.Message); } } }
Grace à cette méthode statique, il sera facile de l’appeler de n’importe où !
class Program { static void Main(string[] args) { string[] users = {"utilisateur@hotmail.fr", "utilisateur@gmail.com"}; //construction du mail MailHelper.SendMail(users, "Hello", "Voici des nouvelles !"); //tâche terminée Console.WriteLine("Mails envoyés..."); Console.Read(); } }
C’était donc l’approche la plus simple pour envoyer un mail avec C#.
Télécharger la source (VS2012) ! EnvoiMail.zip
Note: Il est possible d’envoyer des mails au format HTML etc…
Vous aimez mes articles ? Offrez-moi un café !