English Version
Recherche d'articles : Publier Votre Article
> Comment envoyer un email formaté avec Asp.Net 2.0 <
Publiée le 5/2/2007 Par Chtioui Malek
Ceci est un article expliquant comment créer une function SendMail qui servira a envoyer des emails formatés à partir de Asp.Net 2.0. On utilisera C# pour cet article.

1/ Tout d'abord on a besoin de définir l'adresse du serveur SMTP qui gère l'envois d'emails dans notre fichier web.config. on ajoute simplement une clé qu'on nomera 'smtphost' avec l'adresse (ou IP) du serveur smtp comme valeur à la section appSettings du fichier web.config :

     <appSettings>

        <add key="smtphost" value="smtp.votresite.com"/>

     </appSettings>

2/ On crée aprés le function SendMail qui va instancier l'objet mail, formater, envoyer l'email et retourner une valeur Booléen (vrai/faux) pour confirmer le succès (ou non) de l'opération :

public static bool SendMail(string To_Mail, string Mail_Title, string Message_Body, string Mail_Model, bool Is_Html)

    {

        // smail représente le message

 // elle a des propriétés comme : From, To, Subject, Body, etc.

        System.Net.Mail.MailMessage smail = new System.Net.Mail.MailMessage();

   

        // on spécifie si notre email est envoyé au format HTML ou Texte.

        smail.IsBodyHtml = Is_Html;

   

        // Type d'encodage de  notre message

        smail.BodyEncoding = System.Text.Encoding.GetEncoding("iso-8859-1");

       

        // Spécifier votre adresse email et le nom de votre société ...

        // vous pouvez mettre une fausse adresse si vous envoyer cet email comme spam par exemple.

        smail.From = new System.Net.Mail.MailAddress("mail@xcess.info", "Sing It.");

       

        // L'adresse email du destinataire, vous pouvez en specifier plusieurs.

        smail.To.Add(new System.Net.Mail.MailAddress(To_Mail));

   

        // Titre,Sujet de l'email

        smail.Subject = Mail_Title;

   

        // On remplace le symbol de la nouvelle ligne par son equivalent HTML.

        Message_Body = Message_Body.Replace("\r\n", "<br />");

   

        // Puis on place notre message dans le template de l'email en remplacant

        // la chaine de caractére 'placemailhere' si elle existe par le message.

        if (Mail_Model.ToLower().Contains("placemailhere"))

        {

            smail.Body = Mail_Model.Replace("placemailhere", Message_Body);

        }

        else

        {

            smail.Body = Message_Body;

        }

   

        // Specifier l'adresse du serveur SMTP.

        System.Net.Mail.SmtpClient Client = new System.Net.Mail.SmtpClient();

   

        // Configurer le serveur SMTP.

        Client.Host = System.Web.Configuration.WebConfigurationManager.AppSettings["smtphost"];

   

        // Envois de l'email.

        try

        {

            Client.Send(smail);

        }

        catch

        {

            return false;

        }

        return true;

    }
3/  et enfin on appel notre funtion SendMail :

        // Avec un Template (décoration).

        xcess.SendMail("toemail@xxx.com", "Mail Subject", "This is the body", "xxx placemailhere xxx", true);

 

        // Sans Template.

        xcess.SendMail("toemail@xxx.com", "Mail Subject", "This is the body", "", true);

Télécharger le code source pour cet article.
Bon Codage!
Par Malek Chtiwi.
 Commentaires : Publier Votre Article
Salut l'ami
Par Patrick, Date: 11/28/2007
Salut mec, excellent article,merci.
Ok, et le spam alors ?
Par F.Chautems, Date: 2/17/2008
Bonjour,
Si votre code marche si bien, comment faites-vous pour que les serveurs smtp de vos destinataires n'interceptent pas vos emails comme du spam ?
renseignement
Par oscar, Date: 1/13/2010
tu es malin mais moi je dois envoyer un mail pour tout les mails je cherche de l'emplois peut m'expliquer doucement toute les démarche pour que tout le monde reçois le mail merci et a bientot
demande
Par eric, Date: 2/24/2010
bonjour;

j'ai copié ton code source comme il est mais ça ne marche pas, y'a-t-il quelque chose à changer auu niveau de configuration dans le web config ?
arouss
Par arouss, Date: 3/29/2010
yufil
lnlmknk
m,m,
Aide
Par SO, Date: 6/27/2011
Bonjour,
1. j'aimerais savoir si cette méthode est dans une classe?
2. où il faut appeler cette méthode?
 Ajouter un commentaire :
Nom (ou pseudo) :
Email :
   * Adresse non affichée avec votre message.
Titre :
Commentaire :
Autre articles
Prévenir l’insuffisance veineuse chronique (Jambes lourdes)
 Par Malek Chtioui, Date : 7/9/2007
Nouvelle Tesla Roadster, une vraie voiture de sport électrique
 Par Malek Chtiwi, Date : 7/10/2007
Sallam, le nouveau roman de Hani Nakshabandi
 Par Majdouline El Alami, Date : 8/29/2008
Présentation du nouveau Nokia N95
 Par Xcess, Date : 12/13/2006
Un chargeur solaire universel chez Brando
 Par Houda Mansour, Date : 7/4/2007
Top 5
Déblocage Nokia gratuit (Free Nokia Unlock)
 Par xcess, Date : 2/23/2007
Planter un avocatier, Tout ce qu'il faut savoir.
 Par Malek Chtioui, Date : 4/22/2007
Tout savoir sur la conception d'un bébé
 Par Houda Mansour, Date : 6/10/2007
Le Milieu du cycle (Tout savoir sur la conception d'un bébé P2)
 Par Houda Mansour, Date : 6/10/2007
Comment Restaurer/Reformater votre Téléphone NOKIA (Mobiles Nokia Série 60)
 Par James, Date : 2/22/2008