PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Email riche (html)
Email riche (html)
Débuté par 1ereid, 21 mar. 2014 15:32 - 2 réponses
Posté le 21 mars 2014 - 15:32
Bonjour,

j'utilise un état WinDev pour faire un mail html.

Si j'imprime directement mon état en fichier html il se met dans mon navigateur comme il faut;

Si je lance le programme avec le EmailImporteHTML je reçois un mail où toutes les informations images et textes sont les unes sous les autres.

voici le code utilisé ci-dessous.
// Répertoire temporaire de génération de l'email
sRepTemp est une chaîne = fFichierTemp("CDE")
fRepCrée(sRepTemp)

// Fichier temporaire de génération de l'email
sFichierHTML est une chaîne = sRepTemp+["\"]+"etat.html"

// Génération du HTML
iDestination(iHTMLGénérique,sFichierHTML)
iImprimeEtat(ETAT_Mail_Paiement,gsLignecde,"destinataire@orange.fr")

// Charge le HTML
sHTML est une chaîne ANSI = fChargeBuffer(sFichierHTML)

// Ajoute une balise DIV pour centrer le contenu
nPosDebutBody est un entier = Position(sHTML,"<body")
nPosFinBody est un entier = Position(sHTML,">",nPosDebutBody)
sHTML[[nPosFinBody]] = "><div style=""position:relative;width: 670px;margin-left: auto;margin-right: auto;""><div style=""position:relative;width: 670px;left:-23.72mm"">"
sHTML = Remplace(sHTML,"</body>","</div></body>")
fSauveTexte(sFichierHTML,sHTML)

// Création de l'email
cMel est un Email
EmailImporteHTML(cMel,sHTML,fExtraitChemin(sFichierHTML,fDisque+fRépertoire))
cMel.Sujet = ChaîneConstruit("Confirmation de votre commande (n°%1) ",gsLignecde)
cMel.Expediteur = "info_validation@test.com"
cMel.Destinataire[1] = "destinataire@orange.fr"
cMel.TexteBrut = GenereEmailTexteBrut(gsLignecde,"destinataire@orange.fr")

// Envoi de l'email
cSession est un EmailSessionSMTP
cSession.AdresseServeur = "smtp.orange.fr"
EmailOuvreSession(cSession)
EmailEnvoieMessage(cSession,cMel)
EmailFermeSession(cSession)

// Suppression des fichiers temporaires
fRepSupprime(sRepTemp,frRécursif)


Merci de votre aide.
Membre enregistré
261 messages
Posté le 24 mars 2014 - 22:35
Bonjour Fred,
J'ai exactement le même problème que toi. Avec Outlook, Gmail depuis le navigateur web,gmail depuis tablette, tout ce met a la ligne....
Par contre la mise en forme reste avec Thunderbird.
Moi je pars d'un état généré que je transforme en HTML avec la fonction iDestination().
Je suis a la recherche d'une solution générique qui fonctionne sur tout les clients de messagerie...
Membre enregistré
3 messages
Posté le 25 mai 2015 - 14:46
Bonjour,

Je passe de la version 16 à 20, j'ai exactement le même problème ( en version 16 le fichier html est en <tr><td> et en version 20 en div).
Je peux envoyer les fichiers html de la version 16 sur l'application v 20 ils restent formatés correctement. En version 20 rien ne va plus.
Avez vous une solution ?