C# Création et envoi d’un mail

sécuriser-la-boite-mail

Le but de ce post est de pouvoir créer et envoyer un mail via une interface C#

Tout d’abord, il faut ajouter les bibliothèques suivantes :

using System.Net.Mail;
using System.Net.Mime;

Voici l’exemple d’un simple envoi de mail en utilisant la fonction SendHTMLMail.

 public void SendHTMLMail()
            {
                MailMessage Msg = new MailMessage();
                MailAddress fromMail = new MailAddress("adresse_emetrice@mail.com", "nom apparent de l'expediteur");
                // Sender e-mail address.
                Msg.From = fromMail;
                // Recipient e-mail address.
                Msg.To.Add(new MailAddress("User1@Mail.com"));
                Msg.To.Add(new MailAddress("User2@Mail.com"));
                
                // Subject of e-mail
                Msg.Subject = "Ceci est le sujet du Mail";

                // Corps du Mail
                //Msg.Body += "♅ - Bobby's Application";           
                Msg.IsBodyHtml = true;

                // Info sur le serveur mail
                string sSmtpServer = "smtpserveur";
                SmtpClient a = new SmtpClient();
                a.Host = sSmtpServer;
                a.Port = 25;

                a.Send(Msg);

            }

 

Quelques Commandes :

Ajouter un destinataire :

Msg.To.Add(new MailAddress("User@Mail.com"));

Ajouter un Attachement :

Attachment PJ = new Attachment(@"D:\Pathfile\image.png", MediaTypeNames.Application.Octet);
Msg.Attachments.Add(PJ);

 

Convertir une Image au Format HTML et le mettre dans le corps du Mail grace à la methode suivante.

private AlternateView ImageConvert()
 {
      string Fichier = @"D:\Pathfile\image.png";
      LinkedResource inline = new LinkedResource(Fichier);
      inline.ContentId = Guid.NewGuid().ToString();
      string htmlBody = @"<img src='cid:" + inline.ContentId + @"'/>";
      AlternateView alternateView = AlternateView.CreateAlternateViewFromString(htmlBody, null, MediaTypeNames.Text.Html);
      alternateView.LinkedResources.Add(inline);
      return alternateView;
 }

Et ajouter dans la methode SendHTMLMail()

Msg.AlternateViews.Add(getEmbeddeImage());

 

Étiquettes : ,

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *