none
Ajout des image et contenue fichier dans un body html outlook 2010 RRS feed

  • Question

  • Bonjour,

    J'aurais une interrogation concernant la création d'un mail en Powershell en utilisant outlook.application

    Je dois mélanger dans le corps du mail, des images et des textes.

    Actuellement j’arrive à insérer l’image mais impossible d’ajouter le texte qui est contenue dans un fichier htm

    Pouvez-vous m’expliquer à quel endroit dans la variable « template » je peux ajouter le contenue d’un fichier (variable $mail) ?

    Voici le code actuelle

    $olMailItem = 0
    $o = new-object -comobject outlook.application
    $myItem = $o.CreateItem($olMailItem)
    $myItem.Subject = "Création de compte Windows $Login"
    $myItem.Cc = "$copiemail"
    $mail = get-content "D:\Creation de Compte WINDOWS.htm"
    $template = @"
    <html>
    <body>
    <img src = "D:\bandeau_ISOP.jpg">
    /mail
    </body>
    </html>
    "@
    $template = $template -replace "SIA","$username"
    $template = $template -replace "prénom","$prenom"
    $template = $template -replace "nom","$nom"
    
    $myItem.htmlBody = $template
    $a = $myItem.Display()
    cls


    • Modifié Yoan NOEL lundi 18 janvier 2016 13:20
    lundi 18 janvier 2016 13:11

Toutes les réponses

  • Pourquoi ne pas tout mettre dans le fichier HTM?

    Tu peux transformer l'array créée avec Get-Content en string et le placer directement dans le htmlBody de ton $myItem

    $myITem.HTMLBody = $mail | Out-String

    Et visualiser le tout avec $myItem.Display() comme tu le fais. Tu devrais voir tout le texte ainsi que les images linkées dans ton fichier htm.




    mardi 19 janvier 2016 21:19
  • En me basant sur ta reponse j'ai avoir ce que je souhaite via le code suivant

    $olMailItem = 0
    $o = new-object -comobject outlook.application
    $myItem = $o.CreateItem($olMailItem)
    $myItem.Subject = "ITASM $itasm - Création de compte Windows $Login"
    # Ici on met les personne en copie séparé par ,
    $myItem.Cc = "TOTO"
    # Ici on recupere le fichier htm de mise en forme
    $mail = get-content "\\Server1\template_mail\Creation de Compte WINDOWS.htm"
    $template1 = @"
    <html>
    <body>
    <img src = "\\Server1\template_mail\Image\bandeau_ISOP.jpg">
    $mail
    </body>
    </html>
    "@
    
    # Ici on remplace les champs qui nous interesse
    $template = $template1
    $template = $template -replace "prénom","$prenom"
    $template = $template -replace "nom","$nom"
    $template = $template -replace "SIA","$username"
    $template = $template -replace "label1","$prenomAdmin"
    $template = $template -replace "label2","$nomAdmin"
    $template = $template -replace "label3","$posteAdmin"
    
    
    
    $template = $template -replace "phone","$posteAdmin"
    
    # Ici on met le tout au format html
    $myItem.htmlBody = $template
    # Ici on affiche le resultat du mail avant envoie
    $a = $myItem.Display()
    cls


    • Modifié Yoan NOEL jeudi 14 avril 2016 12:10
    jeudi 14 avril 2016 12:09