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
Trois nouveaux disques durs Ultrastar Chez Hitachi
 Par Malek Chtioui, Date : 5/2/2007
vive La Tunisie
 Par Lansari Mohamed, Date : 4/4/2008
Bientôt La Nouvelle Porsche 997 GT2
 Par Malek Chtioui, Date : 6/7/2007
Innovation pour les malades du SIDA et du CANCER.
 Par BAALOUJ Bouguerra, Date : 8/27/2008
Ne Renoncez Jamais (Humour-Image)
 Par Inc, Date : 5/24/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