IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Envoi de mail en HTML [Débutant]


Sujet :

C#

  1. #1
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut Envoi de mail en HTML
    Bonjour,

    Je cherche un exemple de code c# permettant de faire un envoi de mail en HTML depuis un serveur du type smtp probablement.

    Je pense intégrer cela dans un écran WinForm , pour le choix du texte, du destinataire et de l'envoi.

    Merci de votre aide.

  2. #2
    Membre actif Avatar de DeWaRs
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 291
    Points : 269
    Points
    269
    Par défaut
    Hello,

    Voici un code en VB.NET que tu pourras facilement adapter. Ce qu'il faut surtout retenir, c'est que si tu veux envoyé un mail en html, il faut que la propriétée IsBodyHtml soit à true

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim obj As System.Net.Mail.SmtpClient = New System.Net.Mail.SmtpClient
    Dim Mailmsg As New System.Net.Mail.MailMessage
    obj.Host = "ton serveur smtp"
    Mailmsg.Subject = "Test send HTML mail" 
    Mailmsg.IsBodyHtml = True
    Mailmsg.Body = "Ton texte en html"
    Mailmsg.Priority = Net.Mail.MailPriority.High
    obj.Send(Mailmsg)
    En esperant que cela t'aide.

    Cordialement

    DeWaRs

  3. #3
    Membre régulier Avatar de eti1203656
    Homme Profil pro
    Développeur C#
    Inscrit en
    Octobre 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C#
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2009
    Messages : 30
    Points : 75
    Points
    75
    Par défaut
    Bonjour,

    Voici en c#, bien sur si tu veux envoyer un mail en HTML il faut que mail.IsBodyHtml soit à true .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     //create the mail message
     MailMessage mail = new MailMessage();
     
     //set the addresses
     mail.From = new MailAddress("me@mycompany.com");
     mail.To.Add("you@yourcompany.com");
     
     //set the content
     mail.Subject = "This is an email";
     mail.Body = "this is a sample body with html in it. <b>This is bold</b> <font color=#336699>This is blue</font>";
     mail.IsBodyHtml = true;
     
     //send the message
     SmtpClient smtp = new SmtpClient("127.0.0.1");
     smtp.Send(mail);
    Sources:
    http://www.paperblog.fr/2041980/cvb-...u-format-html/
    http://www.systemnetmail.com/faq/3.1.2.aspx

    J'espère que j'ai pu t'aider.

    Meilleurs salutations

  4. #4
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    Bonjour,

    Merci dès que je peux je teste cela.

  5. #5
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    Bonjour,

    Merci pour cet exemple. A présent, je cherche à faire de l'envoi authentifié.
    Est ce possible ?

    Avez vous un exemple ?

    Merci à vous

  6. #6
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    trouvé ... si cela intéresse quelqu'un ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
              string mailFrom = "....";
                string SmtpClient = ".....";
     
                string username = "......";
                string password = "......";
     
     
                SmtpClient smtpClient = new SmtpClient();
                NetworkCredential basicCredential = new NetworkCredential(username, password);
                MailMessage message = new MailMessage();
                MailAddress fromAddress = new MailAddress(mailFrom);
     
                smtpClient.Host = SmtpClient;
                smtpClient.UseDefaultCredentials = false;
                smtpClient.Credentials = basicCredential;
                smtpClient.EnableSsl = true;
                smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
     
                smtpClient.Timeout = 5000;
     
                smtpClient.Port = 587;// 465;
     
                message.From = fromAddress;
                message.Subject = "your subject";
     
                //Set IsBodyHtml to true means you can send HTML email.
                message.IsBodyHtml = true;
                message.Body = "<h1>your message body</h1>";
                message.To.Add(mailTo);
     
                try
                {
                    smtpClient.Send(message);
                    return true;
                }
                catch (Exception ex)
                {
                    //Error, could not send the message
                    CurrentContext.Message.Display(ex.Message + "\n" + ex.StackTrace);
                    return false;
     
                }

  7. #7
    Membre habitué
    Homme Profil pro
    Architecte C#
    Inscrit en
    Février 2003
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte C#

    Informations forums :
    Inscription : Février 2003
    Messages : 78
    Points : 144
    Points
    144
    Par défaut
    Bonjour,
    Tu peux aussi définir les paramètres smpt dans la config, ce qui permet de ne modifier que la config selon l'environnement sur lequel tu déploie et de copier les mails dans un dossier (deliveryMethod="SpecifiedPickupDirectory") au lieu de les envoyer pendant la phase de tests :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <system.net>
        <mailSettings>
            <smtp deliveryMethod="Network" from="name@domain.com">
                <network host="smtp.mail.com" 
                         userName="name@domain.com" 
                         password="password" port="25"/>
            </smtp>
        </mailSettings>
    </system.net>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoi de mail en Html
    Par neil_lahlou dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 24/12/2006, 21h10
  2. [Mail] Problème envoi e-mail format HTML
    Par Sayrus dans le forum Langage
    Réponses: 13
    Dernier message: 19/12/2006, 14h57
  3. [mail] Timeout sur envoi de mails en HTML
    Par NorthernLights dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 05/12/2006, 10h35
  4. envoi de mail format HTML
    Par heteroclite dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 14/10/2006, 11h54
  5. [VBS & CDO] Envois de mail format HTML
    Par nonotoubo dans le forum VBScript
    Réponses: 2
    Dernier message: 23/08/2006, 16h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo