Envoi automatique de mail avec HTML

Bonjour à tous,

Je suis entrain de rendre automatique un envoi de mail multiple et personnalisé.

Je possède le code HTML du mail, mais je ne trouve pas comment récupérer le HTML et modifier certains champs ( nom de la personne...)

Je mets mon code ci dessous,

Merci d'avance de votre aide,

Bonne journée

 For i = 4 To 6

        Dim olApp As Outlook.Application
        Set olApp = CreateObject("outlook.application")

        Dim olMail As Outlook.MailItem
        Set olMail = olApp.CreateItem(olMailItem)

        With olMail
            .To = tabll(i - 4, 0)                     'adresses mail récupérés à partir d'un tableau
            '.CC = "exemple@gmail.com"
            .Subject = "mailing automatique"
            '.Body = "texte brut"
            .HTMLBody =????
            .send
            End With
    Next

Bonjour et sur le forum,

De ce que j'ai vu, HTMLBody ressemble à:

Bonjour,

HTMLBody = "<HTML><BODY>Enter the message text here. </BODY></HTML>" 

Ce qui donne du texte, quand on veut mettre des variables avec du texte, on sépare le texte et les variables, le texte est entre guillemets, la variable sans guillemets, et entre les 2, on utilise & qui permet de concatener les valeurs. ce qui donnerait par exemple:

.HTMLBody = "<HTML><BODY>Bonjour " & titre & prenom & nom & ", vous nous devez " & montant & " €, merci de payer cette somme au plus vite.</BODY></HTML>" 

Merci beaucoup de ta réponse,

J'avais déjà pensé à faire ça (en copiant-collant le HTML sous forme de texte) et effectivement ça avait marché.

Le problème c'est que le mail que je veux envoyer comporte des images (logo) et ces images ne passent pas avec cette technique

Re,

pas de souci, pour insérer une image, je me suis un peu renseigné:

    Set ColAttach = ObjMail.attachments

tu crées tout d'abord une collection qui va contenir toutes les images utilisées dans le mail

ColAttach.Add("C:\MonImage.jpg")

tu ajoutes tes images à la collection en suivant cette syntaxe

    Set oAttach = ColAttach.Add("C:\MonImage.jpg") 'Changer le chemin et le nom de l'image

tu mets ensuite toutes tes images contenues dans la collection dans les pièces jointes

    With ObjMail
        .HTMLBody = "<BODY><FONT face=Arial color=#000080 size=2></FONT>" & _
            "Bonjour, <br><br><IMG src=cid:MonImage.jpg></BODY>"   'Nom de l'image sans chemin

tu utilises ensuite <IMG src=cid:MonImage.jpg> pour insérer une image dans ton corps de message en utilisant son nom et son extension.

J'ai testé de mon côté cette méthode, et ça marche tip top

Merci beaucoup, j'essaye ça dans l'après-midi quand j'aurais Excel à porté de main !

Merci beaucoup, ta solution fonctionne parfaitement !

Rechercher des sujets similaires à "envoi automatique mail html"