Sample Code C# – Envoi de mail

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…