PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV (versões anteriores) → Image dans corps mail
Image dans corps mail
Iniciado por Nicolas Brandt, dez., 07 2023 1:43 AM - 46 respostas
Membro registado
215 mensagems
Publicado em dezembro, 07 2023 - 1:43 AM
Bonjour

Je tente désespérément d'insérer une image dans un corps de mail
voici une partie de mon code :
gUnCourriel est un Email

sLogo_Signature_mail est une chaîne = [
<html>
<body
<img src="D:\Perso\LOGO.jpg" alt="" />
</body>
</html>
]

gUnCourriel..HTML = TexteVersHTML("Bonjour " + RC + RC)
gUnCourriel..HTML += TexteVersHTML("blablabla" + RC)
gUnCourriel..HTML += TexteVersHTML("blablabla" + RC)
gUnCourriel..HTML += sLogo_Signature_mail + TexteVersHTML(RC + RC)
gUnCourriel..HTML += TexteVersHTML("Cdt")

Lorsque je reçois le mail il n'y a pas d'image

J'envoie le mail via gmail
Version WD22

Merci pour votre aide

--
Nicolas Brandtfr
Publicado em dezembro, 07 2023 - 6:18 PM
Bonjour,

"D:\Perso\LOGO.jpg" est un fichier en local sur ton poste.
Donc envoyé par mail la personne ne pourra pas la voir.

Tu peux passer par un encodage en base64 pour t'en sortir :
<img src="data:image/png;base64, <ImageEnBase64>" alt="" />

NN12
Membro registado
215 mensagems
Publicado em dezembro, 08 2023 - 9:35 AM
Bonjour

pour encoder en base64 j'ai trouvé ça :
UnFichier est chaine = "D:\Perso\LOGO.jpg"
bufImage=fChargeBuffer(UnFichier)
ImageEnBase64 est un Buffer=Crypte(bufImage,"",crypteAucun,encodeBASE64)

et ton dans ton code :
<img src="data:image/png;base64, <[%ImageEnBase64%]>" alt="" />

je ne vois pas le type de déclaration à mettre pour bufImage ?
mon image est en jpg et dans ton code c'est image/png est-ce que faudrait pas mettre image/jpg ?

Merci

--
Nicolas Brandtfr
Membro registado
215 mensagems
Publicado em dezembro, 08 2023 - 9:50 AM
j'ai écrit ça :
sUnFichier est une chaîne = "D:\Perso\logo.png"
bufImage est Buffer = fChargeBuffer(sUnFichier)
ImageEnBase64 est un Buffer=Crypte(bufImage,"",crypteAucun,encodeBASE64)
moncourier est une chaîne = [
<img src="data:image/png;base64, <[%ImageEnBase64%]>" alt="" />
]

sMessage_construit est une chaîne=ChaîneConstruit(moncourier,ImageEnBase64)

gUnCourriel..HTML += sMessage_construit

Mais ça ne fonctionne pas ;(

merci pour votre aide

--
Nicolas Brandtfr
Membro registado
1.048 mensagems
Publicado em dezembro, 08 2023 - 10:24 AM
Bonjour,
Le sujet a été traité régulièrement.
Voir ici par exemple :

https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windev/257143-lecture-image-dans-mail-257147/read.awp…

Cdlt
Membro registado
1.173 mensagems
Publicado em dezembro, 08 2023 - 12:26 PM
Bonjour,

La fonction EmailImporteHTML ne fait-elle pas l'affaire ?
https://doc.pcsoft.fr/?3032038&name=emailimportehtml_fonction

Par contre, votre texte HTML final ne doit contenir qu'un seul <Body><html> et tout le contenu entre les balises <html></html> ce qui n'est pas le cas de votre manière de faire.

--
Thierry TILLIER
Développeur WINDEV -WEBDEV
Formation WINDEV : https://coursdinfo-video.teachizy.fr/
Livre WINDEV : https://amzn.eu/d/6xTow1z
Tuto WINDEV sur ma chaîne Youtube
Membro registado
215 mensagems
Publicado em dezembro, 08 2023 - 4:55 PM
Bonjour

Alors j'ai créé le fichier LOGO.html :
<html>
<body>
<img src="D:\Perso\LOGO.jpg" width="100" height="100" />
</body>
</html>
Lorsque je lance ce fichier il y a l'image qui apparait bien dans le navigateur

Dans Windev :
MonTexteHTML est une chaîne ANSI
MonTexteHTML = fChargeTexte("D:\Perso\LOGO.html")
gUnCourriel..HTML = MonTexteHTML
dans le mail reçu il y a juste un carré avec rien dedans

j'ai testé avec EmailImporteHTML que j'ai écrit comme dans l'exemple
MonTexteHTML est une chaîne ANSI
MonTexteHTML = fChargeTexte("D:\Perso\LOGO.html")
EmailImporteHTML(MonTexteHTML, "D:\Perso")
Dans le mail c'est vide

Je ne voit plus comment faire

Merci pour votre aide

--
Nicolas Brandtfr
Membro registado
215 mensagems
Publicado em dezembro, 08 2023 - 6:32 PM
Après test sur test ça fonctionne avec un lien d'une image sur le web
J'auras voulu le faire avec l'image en local
si le lien web change et bien ça ne fonctionnera plus, mais bon

Le code que j'ai fait
Dans le SAI l'url de l'image
sLogo_Signature_mail est chaîne = [
<html>
<body
<h1></h1>
<p></p>
<img src="[%SAI_Paramètres_Lien_Logo_Signature%]" width="80" height="80" />
</body>
</html>
]

gUnCourriel est un Email

gUnCourriel..HTML += TexteVersHTML("blablabla" + RC)
gUnCourriel..HTML += TexteVersHTML("blablabla" + RC)
gUnCourriel..HTML += sLogo_Signature_mail
gUnCourriel..HTML += TexteVersHTML("Cdt" + RC)


si vous avez une solution pour le faire avec une image en local je suis preneur

merci pour votre aide

--
Nicolas Brandtfr
Membro registado
3.785 mensagems
Publicado em dezembro, 09 2023 - 10:45 AM
Nicolas Brandt a écrit :
Après test sur test ça fonctionne avec un lien d'une image sur le web
J'auras voulu le faire avec l'image en local
si le lien web change et bien ça ne fonctionnera plus, mais bon

Le code que j'ai fait
Dans le SAI l'url de l'image
sLogo_Signature_mail est chaîne = [
<html>
<body
<h1></h1>
<p></p>
<img src="[%SAI_Paramètres_Lien_Logo_Signature%]" width="80" height="80" />
</body>
</html>
]

gUnCourriel est un Email

gUnCourriel..HTML += TexteVersHTML("blablabla" + RC)
gUnCourriel..HTML += TexteVersHTML("blablabla" + RC)
gUnCourriel..HTML += sLogo_Signature_mail
gUnCourriel..HTML += TexteVersHTML("Cdt" + RC)


si vous avez une solution pour le faire avec une image en local je suis preneur

merci pour votre aide

--
Nicolas Brandtfr

Salut,
Je ne comprends pas,
Au début avec une image en base 64 , tu étais sur la bonne piste.
Nn12, Cédric 34 et Thierry t'on donné les infos pour corriger tes erreurs
La solution est devant toi,
Relie attentivement chaque réponse des personnes citées.
Après pour vérifier tu as cette page
https://base64.guru/converter/encode/image/jpg

Et pour le principe, celle ci
https://www.w3docs.com/snippets/html/how-to-display-base64-images-in-html.html
Mensagem modificada, dezembro, 09 2023 - 10:53 AM
Membro registado
1.173 mensagems
Publicado em dezembro, 09 2023 - 1:44 PM
La construction de HTML devrait être :
smail est une chaîne = [

<html lang="fr" >
<body>

<p>Bonjour</p>
<p>Mon blabla</p>
<p>
<img src="D:\Perso\LOGO.jpg" alt="" />
</p>

</body>
</html>
]


--
Thierry TILLIER
Développeur WINDEV -WEBDEV
Formation WINDEV : https://coursdinfo-video.teachizy.fr/
Livre WINDEV : https://amzn.eu/d/6xTow1z
Tuto WINDEV sur ma chaîne Youtube
Membro registado
3.785 mensagems
Publicado em dezembro, 09 2023 - 2:26 PM
THIERRY TILLIER a écrit :
La construction de HTML devrait être :
smail est une chaîne = [

<html lang="fr" >
<body>

<p>Bonjour</p>
<p>Mon blabla</p>
<p>
<img src="D:\Perso\LOGO.jpg" alt="" />
</p>

</body>
</html>
]


--
Thierry TILLIER
Développeur WINDEV -WEBDEV
Formation WINDEV : https://coursdinfo-video.teachizy.fr/
Livre WINDEV : https://amzn.eu/d/6xTow1z
Tuto WINDEV sur ma chaîne Youtube

D:\Perso\LOGO.jpg ne peut fonctionner il faut intégrer en base 64 avec le type mime jpeg
Puisqu'il veut une image jpg.
Membro registado
215 mensagems
Publicado em dezembro, 10 2023 - 12:35 AM
Merci pour ces retours

voici le code que j'ai écris
sLogo_Signature_mail est une chaîne

// Sujet du mail
gsSujet_Mail = "TEST mail Image"

// Encodage d'une image en Base 64
ImageEnBase64 est une chaîne = Encode(fChargeBuffer("D:\Perso\LOGO.jpg"), encodeBASE64)

// Corps mail
sLogo_Signature_mail = [
<html lang="fr" >
<body>
<h1></h1>
<p></p>
<img src="data:image/jpg;base64,[%ImageEnBase64%]" alt="" />
</p>
</body>
</html>
]

gUnCourriel..HTML = TexteVersHTML("Bonjour " + RC + RC)
gUnCourriel..HTML += TexteVersHTML("blablabla" + RC)
gUnCourriel..HTML += sLogo_Signature_mail
gUnCourriel..HTML += TexteVersHTML("CDT" + RC)


et voici le résultat




En vérifiant sur le lien de Popoy :
https://base64.guru/converter/encode/image/jpg
l'encodage jpg en base64 est le même

C'est comme si en sortie de windev l'encodage n'est pas pris en compte

--
Nicolas Brandtfr
Mensagem modificada, dezembro, 10 2023 - 12:39 AM
Membro registado
215 mensagems
Publicado em dezembro, 10 2023 - 12:45 AM
En testant le code <img src="data:image/jpg;base64,[%ImageEnBase64%]" alt="" />
ici : https://www.w3docs.com/tools/code-editor/10848
ça fonctionne

il y a donc quelque chose qui n'est pas interprété sur l'envoi du mail

--
Nicolas Brandtfr
Membro registado
3.785 mensagems
Publicado em dezembro, 10 2023 - 12:31 PM
Salut,
Peut tu mettre tout le résultat au format HTML SVP
Membro registado
215 mensagems
Publicado em dezembro, 10 2023 - 1:25 PM
J'ai mis tout le texte du corps du mail dans la même chaine
sLogo_Signature_mail est une chaîne

// Sujet du mail
gsSujet_Mail = "TEST mail Image"

// Encodage d'une image en Base 64
ImageEnBase64 est une chaîne = Encode(fChargeBuffer("D:\Perso\LOGO.jpg"), encodeBASE64)

// Corps mail
sLogo_Signature_mail = [
<html lang="fr" >
<body>
<h1></h1>
<p>Bonjour</p>
<p>Mon blabla</p>
<img src="data:image/jpeg;base64,[%ImageEnBase64%]" alt="" width="80" height="80" />
<p>CDT</p>
</body>
</html>
]

gUnCourriel..HTML += sLogo_Signature_mail


le résultat est le même




A moins que je n'ai pas compris "mettre tout le résultat au format html" !!

--
Nicolas Brandtfr
Membro registado
3.785 mensagems
Publicado em dezembro, 10 2023 - 6:10 PM
Dans ton résultat, on ne voit pas tes balises sauf <img src=
En plus tu fais des gUnCourriel..HTML += TexteVersHTML
Au lieu de faire un chaîneconstruit
Donc j'ai l'impression que ton code HTML est très mal codé.
Essai comme ça
MaChaîne1 est une chaîne= [
<html lang="fr" >
<body>
<h1>%1</h1>
<p>%2</p>
<p>%3</p>
<img src="data:image/jpeg;base64,[%4]" alt="" width="80" height="80" />
<p>%5</p>
</body>
</html>
]
MonRésultat est une chaîne = ChaîneConstruit(MaChaîne1, " ", "Bonjour","Mon blabla",ImageEnBase64,"CDT")
gUnCourriel..HTML = MonRésultat
Membro registado
215 mensagems
Publicado em dezembro, 10 2023 - 7:33 PM
Bonjour Popoy

j'ai fait ça
ImageEnBase64 est une chaîne = Encode(fChargeBuffer("D:\Perso\LOGO.jpg"), encodeBASE64)

MaChaîne1 est une chaîne= [
<html lang="fr" >
<body>
<h1>%1</h1>
<p>%2</p>
<p>%3</p>
<img src="data:image/jpeg;base64,[%4]" alt="" width="80" height="80" />
<p>%5</p>
</body>
</html>
]
MonRésultat est une chaîne = ChaîneConstruit(MaChaîne1, " ", "Bonjour","Mon blabla",ImageEnBase64,"CDT")
gUnCourriel..HTML = MonRésultat


Le résultat est le même




A la fin du mail il y a




je clique sur Afficher l'intégralité du message et j'ai ça




--
Nicolas Brandtfr
Membro registado
3.785 mensagems
Publicado em dezembro, 10 2023 - 9:41 PM
Dans ce cas,
Reste plus qu'à rajouter
<head>
<title>Title of the document</title>
</head>

Entre HTML et body
Et je viens de m'apercevoir que dans mon code , il manque le final de la balise IMG
</IMG> mais elle n'est pas obligatoire.
(En même temps, tu n'as jamais afficher le résultat HTML complet avec toutes les balises )
Après
Je ne sais pas, j'abandonne
Reste plus que un lien d'une image sur le web
Mensagem modificada, dezembro, 10 2023 - 9:49 PM
Membro registado
215 mensagems
Publicado em dezembro, 10 2023 - 10:45 PM
Dans le %4 j'ai enlevé les []
dans les exemples ici https://www.w3docs.com/snippets/html/how-to-display-base64-images-in-html.html il n'y a pas de crochet

rajout de
<head>
<title>Title of the document</title>
</head>

ce qui donne ça :
MaChaîne1 est une chaîne= [
<html lang="fr" >
<head>
<title>Title of the document</title>
</head>
<body>
<h1>%1</h1>
<p>%2</p>
<p>%3</p>
<img src="data:image/jpeg;base64,%4" alt="" width="80" height="80" />
<p>%5</p>
</body>
</html>
]
MonRésultat est une chaîne = ChaîneConstruit(MaChaîne1, " ", "Bonjour","Mon blabla",ImageEnBase64,"CDT")
gUnCourriel..HTML = MonRésultat


Visualisation des résultats suivant le déroulé du code

variable ImageEnBase64 :




variable machaine1 :




variable monresultat :




--
Nicolas Brandtfr
Membro registado
215 mensagems
Publicado em dezembro, 10 2023 - 10:55 PM
je viens de faire ce test sans passer par chaineconstruit :
MaChaîne1 est une chaîne= [
<html lang="fr" >
<head>
<title>Title of the document</title>
</head>
<body>
<h1>%1</h1>
<p>%2</p>
<p>%3</p>
<div>
<img src="data:image/jpeg;base64,%4" alt="" width="80" height="80" />
</div>
<p>%5</p>
</body>
</html>
]
gUnCourriel..HTML = MaChaîne1


j'ai ça dans le mail :




--
Nicolas Brandtfr
Membro registado
3.785 mensagems
Publicado em dezembro, 11 2023 - 1:37 AM
Dans affichage de monrésultat c'est texte brut pas HTML
Et tu copie colle le texte dans le bloc note.
Tu l'enregistre avec l'extension .html
Et tu l'affiche dans ton navigateur.
Membro registado
215 mensagems
Publicado em dezembro, 11 2023 - 1:49 PM
Le résultat de smonresulat dans le bloc note mis en html fonctionne
je vois bien l'image

--
Nicolas Brandtfr
Membro registado
3.785 mensagems
Publicado em dezembro, 11 2023 - 7:46 PM
Et en faisant
gUnCourriel..HTML = smonresulat
OU
EmailImporteHTML(gUnCourriel.. HTML,smonresulat)

en envoyant cela a toi même
Est-ce qu'a la réception, tu vois l'image ?
Membro registado
215 mensagems
Publicado em dezembro, 11 2023 - 10:04 PM
gUnCourriel..HTML = smonresulat
C'est ce que faisait déjà :



Avec :
EmailImporteHTML(gUnCourriel..HTML,gsMonRésultat)
le corps du mail est vide

--
Nicolas Brandtfr
Membro registado
215 mensagems
Publicado em dezembro, 11 2023 - 10:12 PM
Je n'ai jamais travaillé la fonction EmailImporteHTML
Je l'ai placé juste avant d'appeler la procédure d'envoie de mail :
sMonRésultat est une chaîne = ChaîneConstruit(MaChaîne1, " ", "Bonjour","blablabla",sImageEnBase64,"CDT")
//gUnCourriel..HTML = sMonRésultat
EmailImporteHTML(gUnCourriel..HTML,sMonRésultat)

// Destinataires du mail
gsDestinataires = SAI_Paramètres_E_Mail

SI Envoyer_Mail() = Faux ALORS
Erreur("Erreur dans l'envoi")
FIN


--
Nicolas Brandtfr
Membro registado
3.785 mensagems
Publicado em dezembro, 12 2023 - 7:34 AM
Bon,
Il reste que la case support pcsoft.
Ôte moi d'un doute, tu as bien autorisé l'affichage des images dans Gmail ?
https://support.google.com/mail/answer/145919…
Mensagem modificada, dezembro, 12 2023 - 7:42 AM
Membro registado
215 mensagems
Publicado em dezembro, 12 2023 - 7:44 AM
Demande envoyée à PC Soft hier
Plus qu'à attendre leur retour

Je vais vérifier le paramétrage d'affichage dans Gmail

Merci pour le temps passé sur mon problème
Je vous tiens au courant sur la réponse de PC Soft

--
Nicolas Brandtfr
Mensagem modificada, dezembro, 12 2023 - 7:48 AM
Membro registado
215 mensagems
Publicado em dezembro, 12 2023 - 12:42 PM
Dans Gmail j'ai bien les images autorisées pour l'affichage

--
Nicolas Brandtfr
Membro registado
215 mensagems
Publicado em dezembro, 20 2023 - 7:44 PM
Bonjour

J'ai eu le retour de PCSoft :
"
Le HTML n'étant pas directement un langage PC SOFT, notre Support Technique Gratuit ne pourra pas vous venir en aide pour ce type de mise au point.
Je peux cependant vous conseiller d'utiliser le champ éditeur HTML disponible dans le volet "Création" du ruban. Il facilitera grandement la récupération d'un code adapté pour les emails.
"

je regarde donc du coté champ html
// Encodage d'une image en Base 64
sImageEnBase64 est une chaîne = Encode(fChargeBuffer(SAI_FIC), encodeBASE64)

MaChaîne1 est une chaîne= [
<html lang="fr" >
<head>
<title>Title of the document</title>
</head>
<body>
<h1>%1</h1>
<p>%2</p>
<p>%3</p>
<div>
<img alt="" src="data:image/jpg;base64,%4" width=80 height=80>
</div>
<p>%5</p>
</body>
</html>
]

sMonRésultat est une chaîne ANSI = ChaîneConstruit(MaChaîne1, " ", "Bonjour","blablabla",sImageEnBase64,"CDT")
HTM_SansNom1 = sMonRésultat

Dans le champ HTM_SansNom1 j'ai bien l'image

la récupération de l'expression fonctionne bien aussi dans le navigateur

Je récupère ensuite le contenu de HTM_SansNom1
gUnCourriel..HTML = HTM_SansNom1..ValeurAffichée
ou
EmailImporteHTML(gUnCourriel..HTML,HTM_SansNom1..ValeurAffichée)
et la le mail n'a pas l'image
même résultat qu'au début !!

Je sèche....

Merci si quelqu'un a une solution

--
Nicolas Brandtfr
Membro registado
3.785 mensagems
Publicado em dezembro, 20 2023 - 8:45 PM
Salut,
Essai la propriété Valeur
Si tu as le champ éditeur HTML(tu n'as pas indiqué ta version de windev), essai avec
On ne sait jamais.
Membro registado
215 mensagems
Publicado em dezembro, 20 2023 - 10:36 PM
Salut Popoy

Je suis en WD22

en écrivant HTM_SansNom1..Valeur, ça renvoi "about:blank"

pourtant le code HTML est OK vu que ça passe bien dans le navigateur et dans le champ html

--
Nicolas Brandtfr
Membro registado
3.785 mensagems
Publicado em dezembro, 21 2023 - 12:50 PM
Et sans aucune propriété ?
gUnCourriel..HTML = HTM_SansNom1
Membro registado
215 mensagems
Publicado em dezembro, 21 2023 - 2:35 PM
même résultat avec la propriété ..valeur

--
Nicolas Brandtfr
Membro registado
215 mensagems
Publicado em dezembro, 26 2023 - 9:15 AM
bonjour

un test que je n'avais pas fais : ouvrir le mail dans outlook -> l'image apparait bien
le problème est donc l'ouverture du mail dans gmail
pourtant j'ai bien l'option cochée dans le paramètres gmail dans la section Image : "toujours afficher les images externes"

si quelqu'un a déjà rencontrer ce problème ?

Merci

--
Nicolas Brandtfr
Membro registado
3.785 mensagems
Publicado em dezembro, 26 2023 - 10:11 AM
Ici l'image est interne, pas externe .
Dans le support gmail, il y a une remarque à ce sujet

Remarque : Lorsque vous recevez un message contenant des images, cliquez sur Afficher les images ci-dessous pour les voir.
Membro registado
215 mensagems
Publicado em dezembro, 26 2023 - 11:00 AM
Dans le support gmail il parle des image externe :
https://support.google.com/mail/answer/145919….

mais pas pour image interne

--
Nicolas Brandtfr
Membro registado
1.173 mensagems
Publicado em janeiro, 14 2024 - 11:42 AM
Bonjour,

Il faut d'abord joindre l'image et ensuite utiliser une syntaxe particulière pour insérer l'image.
Voici le code :
sNuméroDeLAttache est une chaîne=1
MonEmail.Attache[sNuméroDeLAttache].Contenu =fChargeBuffer("G:\2024.jpg")
MonEmail.Attache[sNuméroDeLAttache].Nom ="2024.jpg"
MonEmail.Attache[sNuméroDeLAttache].ContentType ="image/jpg"


sMessageHTML est une chaîne =[
<html style="font-family:Arial,Helvetica,sans-serif;font-size:initial;">
<head></head>
<body>Belle année en perspective.
<div><br></div>
<div><img src="cid:WDCID[%sNuméroDeLAttache%]" alt="" width="682" height="371" style="margin:6px;" hspace="0"></div>

<div>Thierry</div>
</body>
</html>
]
MonEmail.HTML=sMessageHTML


J'explique tout dans ma Masterclass Jeudi et vendredi.
Jeudi 18/01/2024 à 13h (heure de Paris)
https://events.teams.microsoft.com/event/33232202-e122-4330-94b7-219a2c3ff37f@18507b8b-6677-46a7-b19f-83a736aebaa5

ou

Vendredi 19/01/2024 18h30 (heure de Paris) :
https://events.teams.microsoft.com/event/566b5eac-fd58-4257-bf1c-63b4c8fc5ede@18507b8b-6677-46a7-b19f-83a736aebaa5

--
Thierry TILLIER
Développeur WINDEV -WEBDEV
Formation WINDEV : https://coursdinfo-video.teachizy.fr/
Livre WINDEV : https://amzn.eu/d/6xTow1z
Tuto WINDEV sur ma chaîne Youtube
Membro registado
215 mensagems
Publicado em janeiro, 20 2024 - 11:20 PM
Bonjour

Mince j'ai loupé la date ;(

Merci pour cette solution que je vais tester

--
Nicolas Brandtfr
Membro registado
1.173 mensagems
Publicado em janeiro, 21 2024 - 12:19 PM
C'est dommage on a passé un bon moment. J'en ferais d'autres rapidement.

--
Thierry TILLIER
Développeur WINDEV -WEBDEV
Formation WINDEV : https://coursdinfo-video.teachizy.fr/
Livre WINDEV : https://amzn.eu/d/6xTow1z
Tuto WINDEV sur ma chaîne Youtube
Publicado em janeiro, 21 2024 - 2:32 PM
Je regrette aussi de l'avoir raté parce que j'ai le même souci ^^

En utilisant strictement comme vous l'indiquez (ie ce qui est décrit d'ailleurs dans la doc pcsoft), j'ai bien l'image en pièce jointe dans GMAIL mais pas l'affichage dans le corps du message.
Alors que c'est correct en réception dans outlook par ex.

et si j'envoie un mail depuis outlook vers gmail avec la même image dans le corps du mail, c'est par contre correct, il doit donc manquer quelque chose :(
Membro registado
1.173 mensagems
Publicado em janeiro, 22 2024 - 11:10 AM
Bart a écrit :

En utilisant strictement comme vous l'indiquez (ie ce qui est décrit d'ailleurs dans la doc pcsoft), j'ai bien l'image en pièce jointe dans GMAIL mais pas l'affichage dans le corps du message.
Alors que c'est correct en réception dans outlook par ex.

et si j'envoie un mail depuis outlook vers gmail avec la même image dans le corps du mail, c'est par contre correct, il doit donc manquer quelque chose


pour gmail il faut mettre en minuscule d'identifiant :
<img src="cid:wdcid ..
et pas <img src="cid:WDCID...

--
Thierry TILLIER
Développeur WINDEV -WEBDEV
Formation WINDEV : https://coursdinfo-video.teachizy.fr/
Livre WINDEV : https://amzn.eu/d/6xTow1z
Tuto WINDEV sur ma chaîne Youtube
Membro registado
215 mensagems
Publicado em fevereiro, 02 2024 - 5:28 PM
Bonjour

Le code de Thierry fonctionne bien

Merci à tous pour les recherches

--
Nicolas Brandtfr
Membro registado
40 mensagems
Publicado em março, 01 2025 - 6:42 PM
On demande souvent de l'aide ici mais il faut savoir également remercier...
Thierry tu m'as sauvé, plusieurs jours de galère et je tombe sur ton code.
Fonctionne à merveille.
Alors un très grand merci à toi et ta générosité
Bon WE


THIERRY TILLIER escribió:
Bonjour,

Il faut d'abord joindre l'image et ensuite utiliser une syntaxe particulière pour insérer l'image.
Voici le code :
sNuméroDeLAttache est une chaîne=1
MonEmail.Attache[sNuméroDeLAttache].Contenu =fChargeBuffer("G:\2024.jpg")
MonEmail.Attache[sNuméroDeLAttache].Nom ="2024.jpg"
MonEmail.Attache[sNuméroDeLAttache].ContentType ="image/jpg"


sMessageHTML est une chaîne =[
<html style="font-family:Arial,Helvetica,sans-serif;font-size:initial;">
<head></head>
<body>Belle année en perspective.
<div><br></div>
<div><img src="cid:WDCID[%sNuméroDeLAttache%]" alt="" width="682" height="371" style="margin:6px;" hspace="0"></div>

<div>Thierry</div>
</body>
</html>
]
MonEmail.HTML=sMessageHTML


J'explique tout dans ma Masterclass Jeudi et vendredi.
Jeudi 18/01/2024 à 13h (heure de Paris)
https://events.teams.microsoft.com/event/33232202-e122-4330-94b7-219a2c3ff37f@18507b8b-6677-46a7-b19f-83a736aebaa5

ou

Vendredi 19/01/2024 18h30 (heure de Paris) :
https://events.teams.microsoft.com/event/566b5eac-fd58-4257-bf1c-63b4c8fc5ede@18507b8b-6677-46a7-b19f-83a736aebaa5

--
Thierry TILLIER
Développeur WINDEV -WEBDEV
Formation WINDEV : https://coursdinfo-video.teachizy.fr/
Livre WINDEV : https://amzn.eu/d/6xTow1z
Tuto WINDEV sur ma chaîne Youtube
Membro registado
40 mensagems
Publicado em março, 01 2025 - 11:28 PM
Bonsoir,
Par contre, une petite question pour compléter ce post.
A la fin de l’émail reçu par le client, on voit une balise <fin>





Par ailleurs petite question, dans un champ HTML, quand on fait Entrée, l'espacement entre les lignes est important.
Solution, faire Shift+entrée pour un retour ligne juste en dessous.
N'y a t'il pas un moyen de changer cela?
Merci
Bonne soirée
Membro registado
40 mensagems
Publicado em março, 02 2025 - 3:54 PM
Je me répond tout seul.
J'ai changé mon champ sai_message de HTML en RTF
et à la fin je fais un RTFVersHTML tout simplement


Bon j'arrive pas à éditer mon post grrrrr
un truc du style
ChaîneInitiale est une chaîne =SAI_message
ChaîneRemplacée est une chaîne = Remplace(ChaîneInitiale,"</p>","<br>")
ChaîneRemplacée = ChaîneSupprime(ChaîneRemplacée, "<p>")
//info(ChaîneRemplacée)
SAI_message=ChaîneRemplacée


mais qui le fasse pendant la saisie, dès que je tape entrée pour passer à la ligne suivante
Mensagem modificada, março, 02 2025 - 4:06 PM
Membro registado
1.409 mensagems
Publicado em junho, 25 2025 - 4:41 PM
Bonjour, je relance ce post car je perd un temps précieux à manipuler les pièces jointe de courriels reçus.

J'ai implanté le code de Thierry mentionné plus haut et ça ne fonctionne tout simplement pas chez nous, l'image ne s'affiche jamais en débug ni sur mon mobile. Sur le mobile, j'obtiens une erreur de chargement.

J'ai évidemment essayé le code intégral ainsi que plusieurs déclinaisons sans aucun succès. L'image encodé en base64 fonctionne bien mais je dois extraire n'importe lequels types de fichiers joint alors l'encodage ne sert pas pour tout les fichiers.

--
Jean Turcotte
WX 2025
Publicado em outubro, 09 2025 - 11:07 AM
THIERRY TILLIER escribío:
Bonjour,

Il faut d'abord joindre l'image et ensuite utiliser une syntaxe particulière pour insérer l'image.
Voici le code :
sNuméroDeLAttache est une chaîne=1
MonEmail.Attache[sNuméroDeLAttache].Contenu =fChargeBuffer("G:\2024.jpg")
MonEmail.Attache[sNuméroDeLAttache].Nom ="2024.jpg"
MonEmail.Attache[sNuméroDeLAttache].ContentType ="image/jpg"


sMessageHTML est une chaîne =[
<html style="font-family:Arial,Helvetica,sans-serif;font-size:initial;">
<head></head>
<body>Belle année en perspective.
<div><br></div>
<div><img src="cid:WDCID[%sNuméroDeLAttache%]" alt="" width="682" height="371" style="margin:6px;" hspace="0"></div>

<div>Thierry</div>
</body>
</html>
]
MonEmail.HTML=sMessageHTML


J'explique tout dans ma Masterclass Jeudi et vendredi.
Jeudi 18/01/2024 à 13h (heure de Paris)
https://events.teams.microsoft.com/event/33232202-e122-4330-94b7-219a2c3ff37f@18507b8b-6677-46a7-b19f-83a736aebaa5 https://moto-x3m.io

ou

Vendredi 19/01/2024 18h30 (heure de Paris) :
https://events.teams.microsoft.com/event/566b5eac-fd58-4257-bf1c-63b4c8fc5ede@18507b8b-6677-46a7-b19f-83a736aebaa5

--
Thierry TILLIER
Développeur WINDEV -WEBDEV
Formation WINDEV : https://coursdinfo-video.teachizy.fr/
Livre WINDEV : https://amzn.eu/d/6xTow1z
Tuto WINDEV sur ma chaîne Youtube

Merci Thierry ! Super clair et très utile pour intégrer des images dans les e-mails HTML. Je vais essayer ton exemple avant ta masterclass !