IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

[WD2024] Utilisation du champ d'affichage HTML pour les e-mails


Sujet :

WinDev

  1. #1
    Membre chevronné Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 768
    Par défaut [WD2024] Utilisation du champ d'affichage HTML pour les e-mails
    Salut à tous,

    Je me prends la tête avec le (nouveau pour moi) champ HTML.

    J'utilise le champs pour envoyer des e-mails avec des images intégrées, pas de ce soucis de ce côté.

    Pour les conserver pour archivage, je les enregistre dans une table de ma BD : expéditeur / sujet / html / etc. et j'enregistre les pièces jointes (images et fichiers joints) dans un répertoire.

    Je mets le nom du fichier à partir de pcJointe..Identifiant car visiblement dans le html du message on <img src = pcJointe..Identifiant >


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    ...
    HEnregistre(Emails)
     
     
    nIDMail = Emails.MAIL_ID // ID de l'email sauvé 
     
    //-- traiter les pces jointes 
    nNbreAttache est un entier  =TableauOccurrence(emMail.Attache) 
     
    SI nNbreAttache = 0 ALORS RETOUR // pas de PJointe 
     
    // -- on nenregistre les pces jointes 
    sNomFichier est une chaîne ANSI
     
    nMAILS_ID					est un entier sur 8 octets	= Emails.MAIL_ID	// on recupere le ID du mail 
     
    POUR TOUT pcJointe DE emMail.Attache
     
    	sNomFichier		=   gsAppCheminGlobal + ["\"] + "Emails_attachements" + ["\"]  +pcJointe..Identifiant
     
    	SI PAS EmailSauveFichierAttaché(pcJointe,sNomFichier) ALORS 
    		Erreur(ErreurInfo())
    	SINON 
     
    		// -- ajouter la référence au fichier joint dans la tables des PJ --
    		HRAZ(Emails_Pieces_Jointes)
    		Emails_Pieces_Jointes.MAIL_PJ_Email		= nIDMail
    		Emails_Pieces_Jointes.MAILPJ_NomFichier	= nMAILS_ID + "_" + pcJointe.Nom 
     
    		SI PAS HAjoute(Emails_Pieces_Jointes) ALORS 
    			Erreur(HErreurInfo() + RC + "Impossible d'enregistrer le fichier " + nMAILS_ID + "_" + pcJointe.Nom  + " dans la base de données !")
    		FIN				
     
    	FIN
    FIN
    Jusque là tout fonctionne bien, j'ai mes enregistrements et mes fichiers

    Par contre pour les recharger, j'arrive bien à reprendre le contenu des e-mails, mais les images ne sont pas affichées.

    J'ai parcouru la doc et divers posts, le truc qui revient sans cesse c'est que les images devraient être dans le répertoire de travail du champ HTML :

    La propriété RépertoireDeTravail permet de :

    connaître ou modifier le répertoire utilisé par le champ Editeur HTML pour stocker les images et feuilles CSS d'une page HTML.

    JE me dis super, il me suffit de lui dire ou se trouvent les images en modifiant le répertoire utilisé, mais quand j'essaie de faire un affectation à la propriété :

    Nom : RepTravail.png
Affichages : 289
Taille : 9,8 Ko

    Je ne sais pas si c'est juste , j'utilise le champs éditeur pour l'envoi ds e-mail et celui d'affichage pour les afficher après-coup


    Vous avez également ce genre de soucis ?

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2017
    Messages
    3 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2017
    Messages : 3 057
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    RépertoireDeTravail est une propriété qui concerne un champ Éditeur HTML et non un champ HTML. Je cite :
    La propriété RépertoireDeTravail permet de :
    connaître ou modifier le répertoire utilisé par le champ Éditeur HTML pour stocker les images et feuilles CSS d'une page HTML.

  3. #3
    Membre chevronné Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 768
    Par défaut
    Oui, effectivement je n'avais pas pris garde à la subtilité ....

    Je ne comprends pas trop comment reconstituer un email avec les images, reconstituer l'e-mail dans une structure et EmailImporteHTML ... mais comment lister les images contenues dans le HTML.

    Je tourne un peu en rond ...

  4. #4
    Membre éclairé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 110
    Billets dans le blog
    3
    Par défaut
    Bonjour,
    Pourquoi ne pas tout enregistrer avec EmailConstruitSource() et EmailImporteSource() au lieu de séparer le corps et des pj ?

  5. #5
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 729
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 729
    Par défaut
    Citation Envoyé par wd_newbie Voir le message
    Oui, effectivement je n'avais pas pris garde à la subtilité ....

    Je ne comprends pas trop comment reconstituer un email avec les images, reconstituer l'e-mail dans une structure et EmailImporteHTML ... mais comment lister les images contenues dans le HTML.

    Je tourne un peu en rond ...
    Hello wd_newbie,

    Pour trouver les images, ce n'est pas trop compliqué, il faut rechercher les balises <IMG et regarder du côté de l'attribut SRC.

    Après, avec les infos données par tout le monde, tu devrais t'en sortir, non ?

  6. #6
    Membre émérite

    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 490
    Billets dans le blog
    1
    Par défaut
    C'est assez compliqué de voir une image dans un mail avec windev
    Voir la solution sur cette page
    https://forum.pcsoft.fr/fr-FR/pcsoft...-mail/read.awp
    Conseil : A garder précieusement

  7. #7
    Membre chevronné Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 768
    Par défaut
    Alors je me suis pris un peu la tête avec ces sauvegardes des emails, et il semble que, ce soit plus simple que prévu.

    Je suis parti sur la proposition de juju26

    Si cela peut servir :


    1 - pour sauvegarder un email avec HTML et pièces jointes

    On enregistre le message avec la fonction EmailConstruitSource, qui inclu les images et les pièces jointes.
    Ici j'enregistre le message et pces jointe dans une champ de la table "Emails", mais on pourrait enregistrer dans un fichier texte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    	// sauver le contenu avec pJ
    	SI EmailConstruitSource(emMail) = Vrai ALORS
    		Emails.MAIL_Source		=  emMail.Source  // emMail une variable de type email
    	FIN

    2 - pour afficher un email dans un champ HTML d'affichage

    Récupération depuis la table "Emails" ou alors un fChargeTexte().
    Une fois la structure ou variable email renseignée, on récupère le HTML, les pièces et images jointes dans le tableua Attache[], et avec HTMLDepuisEmail() on affiche le tout dans le champ

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    ... 
    SI PAS HLitRecherchePremier(Emails,MAIL_ID,nMAIL_ID) ALORS 
    	Erreur(HErreurInfo() + RC + "Impossible de charger l'e-mail !") 
    FIN
     
     
    emMail est un Email 
    EmailParamètre(emailParamètreHTML, Vrai)
     
    emMail.Source = Emails.MAIL_Source
     
    SI  EmailImporteSource(emMail) = Faux ALORS
    	Erreur(ErreurInfo())
    FIN
     
    HTMLDepuisEmail(HTM_Visualisation, emMail)

    J'espère ne pas avoir dit trop de bêtise

  8. #8
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 729
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 729
    Par défaut
    Citation Envoyé par wd_newbie Voir le message
    J'espère ne pas avoir dit trop de bêtise
    Si ça fonctionne chez toi en dév ET en prod, alors c'est que c'est la solution.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utiliser un champ d'une liste pour remplir un autre champ d'une autre liste
    Par MalboroFR dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 25/08/2015, 14h35
  2. [WD-2003] Utiliser un champ de fusion publipostage pour nommer un document
    Par Paradiso dans le forum VBA Word
    Réponses: 1
    Dernier message: 07/10/2010, 22h44
  3. [HTML] Encodetype HTML pour les caractères accentués
    Par danathane dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/08/2007, 15h25
  4. [RSS] affichage étrange pour les caractères accentués
    Par VFone dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 15/12/2006, 10h02
  5. Récupérer infos page html pour les insérer dans Outlook
    Par andromede88 dans le forum Windows
    Réponses: 4
    Dernier message: 21/09/2006, 14h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo