none
Impossible d'afficher l'image liée Outlook 2016

    Question

  • Bonjour à tous !

    J'ai un soucis lorsque je souhaite envoyer une photo lors d'un mail (pas en pièce jointe, vraiment dans le corps du mail). Mon message s'envoie mais la photo est vide, accompagnée de la fameuse phrase "Impossible d'afficher l'image liée etc..." 

    J'ai déjà fais plusieurs manip avec la commande regedit, pour le registre : 

    • j'ai tenté d'aller dans HKEY_CURRENT_USER\Software\Microsoft\Office\x.0\Common puis de chercher et supprimer le BlockHTTPimages sauf qu'il est introuvable (peut être déjà supprimer ?)

    • je suis allé dans HKEY_CURRENT_USER\Software\Microsoft\Office\x.0\Outlook\Options\Mail et ai rajouté "Send Pictures With Document" (de type REG_DWORD, en héxadécimal, donnée de la valeur : 1)

    • je suis allé dans HKEY_CURRENT_USER\Software\Microsoft\Office\x.0\Outlook\Security et ai supprimé le OutlookSecureTempFolder

    • je suis allé dans HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Explorer\User Shell Folders et ai vérifié que le "Cache" se trouve bien à l'emplacement %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files

    • j'ai évidemment décocher, sous Outlook, la fonction "Ne pas télécharger les images automatiquement dans les courriers HTML ou les éléments RSS" qui se trouve dans Centre de gestion de la confidentialité.

    Le code HTML que j'utilise pour envoyer le mail (je passe par Excel, avec une macro qui, elle, marche bien) est le suivant : 

    <p>Bonjour, ceci est l'en tête</p><p>Hello replace_sexe replace_full_name, j'espère que vous allez bien !</p><p>Peut être une image :</p><img src="img.jpg">

    Voilà, j'espère que vous pourrez m'aider car je recherche depuis quelques jours sans trouver de réponses..

    Merci !

    Pierre-Eliott

    jeudi 19 avril 2018 07:27

Toutes les réponses

  • Regarde https://excel-macro.tutorialhorizon.com/excel-vba-send-mail-with-embedded-image-in-message-body-from-ms-outlook-using-excel/ pour la solution.

    Daniel Pineault, 2010-2017 Microsoft MVP
    Professional Support: http://www.cardaconsultants.com
    MS Access Tips and Code Samples: http://www.devhut.net

    jeudi 19 avril 2018 09:35
  • Déjà merci pour votre réponse Daniel Pineault

    J'ai essayé de faire comme indiqué dans votre lien, le problème est que l'image se retrouve dans le mail comme une pièce jointe... hors ce que je souhaitais, c'est intégrer l'image au corps du mail, comme on peut faire avec word

    Merci quand même !

    Pierre-Eliott

    jeudi 19 avril 2018 10:04
  • Très étrange!  Je viens de valider et ça marche parfaitment pour moi.

    Voici ma version du code

    Sub sumit()     Dim oOutlook              As Object
        Dim oOutlookMail          As Object
        Dim oDoc                  As Object
    Dim sTo As String Dim sSubject As String Dim sBody As String Const olMailItem = 0 On Error Resume Next Set oOutlook = GetObject(, "Outlook.Application") 'Bind to existing instance If Err.Number <> 0 Then 'Could not get instance, so create a new one Err.Clear Set oOutlook = CreateObject("Outlook.Application") End If On Error GoTo Error_Handler Set oOutlookMail = oOutlook.CreateItem(olMailItem) Set oDoc = oOutlookMail.GetInspector.WordEditor 'This will retain the signature in the body sTo = "quelquun@quelquepart.com" sSubject = "Sujet" sBody = "<br><b>Embedded Image Demo:</b><br><br>" _ & "<img src='cid:Clipboard01.gif'" & "width='500' height='200'><br>" _ & "<br><br>Best Regards,</font><br></span>" With oOutlookMail .To = sTo .Subject = sSubject 'add the image in hidden manner, position at 0 will make it hidden .Attachments.Add "C:\Users\Daniel\...\Clipboard01.gif", olByValue, 0 'Now add it to the Html body using image name 'change the src property to 'cid:your image filename' 'it will be changed to the correct cid when its sent. .HTMLBody = sBody & .HTMLBody .Display 'or .Send End With Call MsgBox("Your Mail has been sent", vbInformation Or vbOKOnly) Error_Handler_Exit: On Error Resume Next If Not oOutlookMail Is Nothing Then Set oOutlookMail = Nothing If Not oDoc Is Nothing Then Set oDoc = Nothing If Not oOutlook Is Nothing Then Set oOutlook = Nothing Exit Sub Error_Handler: MsgBox "The following error has occured" & vbCrLf & vbCrLf & _ "Error Number: " & Err.Number & vbCrLf & _ "Error Source: sumit" & vbCrLf & _ "Error Description: " & Err.Description & _ Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _ , vbOKOnly + vbCritical, "An Error has Occured!" Resume Error_Handler_Exit End Sub

    Est-ce que tu utilises Outlook?
    Tu as bien fait concorder le nom du fichier dans le Body (le cid:) et dans l'Attachment?


    Daniel Pineault, 2010-2017 Microsoft MVP
    Professional Support: http://www.cardaconsultants.com
    MS Access Tips and Code Samples: http://www.devhut.net

    jeudi 19 avril 2018 15:26
  • Merci pour les réponses, j'ai résolu le problème d'une autre manière.

    Au lieu de l'attacher en pièces jointe, j'ai simplement utiliser un hebergeur web (il y en a plein, ex : noelshack, zupimages, image-heberg, etc...) afin de donner à mon image un lien static internet.

    J'ai ensuite remplacé la partie <img ... src = "[chemin par défaut de l'ordi]" > par <img ... src ="[nouveau lien URL donné par l'hebergeur]" > et désormais toutes mes images s'affichent

    Merci pour vos réponses Daniel Pineault !

    vendredi 20 avril 2018 08:08