1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

WM Problème WM22 lecture du corps html email avec photo

Discussion dans 'Windev Mobile' créé par Logan, Avr 17, 2019.

  1. Logan

    Logan Member

    Inscrit:
    Nov 8, 2018
    Messages:
    66
    J'aime reçus:
    3
    Bonjour à tous,

    J'ai un problème WM22 comment lire email en HTML avec image, j'ai réussi à lire simple le texte , mais pas de photo du Corps de l'email. Merci à tous

    voila le code :

    MaSession est une emailSessionPOP3

    MaSession..AdresseServeur = "Mon adresse Mail"
    MaSession..Nom = "Nom du serveur"
    MaSession..MotDePasse = "Mot de Passe"

    MaSession..Port=110 // A verifier dans votre cas


    //EmailOuvreSession(MaSession)

    // Change le timeOut de connexion, on le passe à 5 secondes
    //EmailChangeTimeOut(5)

    // Récupération de tous les emails non lus de la boîte de réception.
    ///SessionIMAP est une emailSessionIMAP
    tabEmailNonLus est un tableau de Emails

    // Ouverture de la session
    //EmailOuvreSession(MaSession)

    SI EmailOuvreSession(MaSession) = Faux ALORS

    FIN

    // Récupération de tous les emails non lus
    tabEmailNonLus = EmailRécupèreTout(MaSession, ertNonLus)

    // Affichage des informations de chaque email
    POUR TOUT MonEmail DE tabEmailNonLus

    TableAjouteLigne(TABLE_EMAIL,MonEmail..Expediteur,MonEmail..Sujet, MonEmail..Message, MonEmail..HTML)

    // Prévisualisation de l'email sélectionné


    Repert_Temp est une chaîne = "C:\Email\"
    CID est une chaîne
    I est un entier

    // Pour chaque fichier attaché
    POUR I = 1 À Email.NbAttache

    // Copier le fichier dans un répertoire temporaire
    EmailSauveFichierAttaché(Email.Attache, ...
    Repert_Temp + Email.Attache)
    // Récupérer l'identifiant du fichier attaché dans le mail
    CID = "cid:" + Email.IdentifiantAttache
    // Remplacer les références au fichier attaché
    // par le nom réel du fichier
    Email.HTML = Remplace(Email.HTML, CID, "file:" + ...
    Repert_Temp + Email.Attache)
    FIN


    SAI_PREVISUALISATION=Email.html

    Le texte se lit mais la photo dans le Corps du Mail ne s'affiche. J'implore votre aide s'il vous plait à fin
    d'affiché la photo aussi dans le corps html. J'ai ouvert le même mail dans ma Messagerie Gmail et
    le corps du mail s'affiche très bien avec photo. A noter encore la photo ne figure pas en pièce jointe mais directement affichable dans le Corps HTML du Mail en question.

    Merci pour votre attention.
     
    Tags:
  2. khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour à tous,

    J'ai un problème WM22 comment lire email en HTML avec image, j'ai réussi à lire simple le texte , mais pas de photo du Corps de l'email. Merci à tous

    voila le code :

    MaSession est une emailSessionPOP3

    MaSession..AdresseServeur = "Mon adresse Mail"
    MaSession..Nom = "Nom du serveur"
    MaSession..MotDePasse = "Mot de Passe"

    MaSession..Port=110 // A verifier dans votre cas


    //EmailOuvreSession(MaSession)

    // Change le timeOut de connexion, on le passe à 5 secondes
    //EmailChangeTimeOut(5)

    // Récupération de tous les emails non lus de la boîte de réception.
    ///SessionIMAP est une emailSessionIMAP
    tabEmailNonLus est un tableau de Emails

    // Ouverture de la session
    //EmailOuvreSession(MaSession)

    SI EmailOuvreSession(MaSession) = Faux ALORS

    FIN

    // Récupération de tous les emails non lus
    tabEmailNonLus = EmailRécupèreTout(MaSession, ertNonLus)

    // Affichage des informations de chaque email
    POUR TOUT MonEmail DE tabEmailNonLus

    TableAjouteLigne(TABLE_EMAIL,MonEmail..Expediteur,MonEmail..Sujet, MonEmail..Message, MonEmail..HTML)

    // Prévisualisation de l'email sélectionné


    Repert_Temp est une chaîne = "C:\Email\"
    CID est une chaîne
    I est un entier

    // Pour chaque fichier attaché
    POUR I = 1 À Email.NbAttache

    // Copier le fichier dans un répertoire temporaire
    EmailSauveFichierAttaché(Email.Attache, ...
    Repert_Temp + Email.Attache)
    // Récupérer l'identifiant du fichier attaché dans le mail
    CID = "cid:" + Email.IdentifiantAttache
    // Remplacer les références au fichier attaché
    // par le nom réel du fichier
    Email.HTML = Remplace(Email.HTML, CID, "file:" + ...
    Repert_Temp + Email.Attache)
    FIN


    SAI_PREVISUALISATION=Email.html

    Le texte se lit mais la photo dans le Corps du Mail ne s'affiche. J'implore votre aide s'il vous plait à fin
    d'affiché la photo aussi dans le corps html. J'ai ouvert le même mail dans ma Messagerie Gmail et
    le corps du mail s'affiche très bien avec photo. A noter encore la photo ne figure pas en pièce jointe mais directement affichable dans le Corps HTML du Mail en question.

    Merci pour votre attention.
    Cliquez pour agrandir...
    si la photo est dans le corps du mail, c'est que soit il y a un lien vers une image hébergé, soit l'image a été encodé dans le corps du mail.

    il faudrait voir le code source du corps du mail,
    mais par exemple si gèré dans un <script> il faut décocher la case dans la description du champs "Interdit l'exécution des scripts Javascript".
    après si tu peux poster le code source du mail en retirant les infos confidentiels ca permettrait de mieux comprendre.
     
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,879
    J'aime reçus:
    1,531
    Salut Logan,
    il se peut que l'image soit encoder en base 64
    voir

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    si tu affiche l'html dans un champ HTML
    cela devrait être correct.
    Remplace ton champ de saisie par un champ HTML.
     
  • Logan

    Logan Member

    Inscrit:
    Nov 8, 2018
    Messages:
    66
    J'aime reçus:
    3
    Merci mon champ de saisie est bien en Champ HTML et rien ne s'affiche. Puisque je teste directement dans WD22 et même dans le répertoire créer
    pour la réception de la photo en question reste toujours vide donc pas de téléchargement de la photo du mail.
     
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Merci mon champ de saisie est bien en Champ HTML et rien ne s'affiche. Puisque je teste directement dans WD22 et même dans le répertoire créer
    pour la réception de la photo en question reste toujours vide donc pas de téléchargement de la photo du mail.
    Cliquez pour agrandir...
    si photo pas en PJ tu ne verra rien dans ton répertoire car pas une pièce jointe, donc ton code ne récupéra pas de fichier.

    regarde le code source de ton mail pour savoir si l'image a été encode ou si la source présent dans un script javascript
     
  • Logan

    Logan Member

    Inscrit:
    Nov 8, 2018
    Messages:
    66
    J'aime reçus:
    3
    Dans ma table : TABLE_EMAIL tout ce qui est écriture ( expéditeur, destinataire, sujet tout s'affiche sauf le corps html qui est une image qui ne s'affiche pas du tout.
     
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Dans ma table : TABLE_EMAIL tout ce qui est écriture ( expéditeur, destinataire, sujet tout s'affiche sauf le corps html qui est une image qui ne s'affiche pas du tout.
    Cliquez pour agrandir...
    oui on a compris, ce qu'on t e dis c'est qu'il faut regarder le code source de ton ..html de ta variable email

    chaque email récupéré par ta boucle est stocker dans une variable de type email.

    qui a plusieurs propriétés dont html qui contient le message html de ton email (le corps du mail)
    la propriété ...message est le corps du mail en version texte.
     
  • Logan

    Logan Member

    Inscrit:
    Nov 8, 2018
    Messages:
    66
    J'aime reçus:
    3
    Voir le code qui s'affiche sur le Sai_Champ_HTML lorsque je clique sur le bouton récupération Email Html la partie du corps html

    <html>
    <head>
    <title>Inserting Image </title>
    </head>
    <body>

    <h2></h2>
    <center><img src="cid:wdcid2AC78184146630EF" width="350px" height="500px"></center>

    </body>
    </html>


    C'est comme ci il ne voit pas du tout la photo pour affichage.
     
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    donc tu as bien un image en pièce jointe, car sauf erreur de ma part le cid:wdcid2AC78184146630EF est la valeur du content id d'une image jointe au mail.
     
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    je pense que ton probleme viens que tu n'indique pas l'indice de ton fichier attaché
    email.attache->>email.attache
    Code (Windev):

    POUR I = 1 À Email.NbAttache
           
            // Copier le fichier dans un répertoire temporaire
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (Email.Attache[I], ...
            Repert_Temp + Email.Attache[I])
            // Récupérer l'identifiant du fchier attaché dans le mail
            CID = "cid:" + Email.IdentifiantAttache[I]
            // Remplacer les références au fichier attaché
            // par le nom réel du fichier
            Email.HTML =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (Email.HTML, CID, "file:" + ...
            Repert_Temp + Email.Attache[I])
        FIN
     
    selon l'aide pcsoft :
    Email.Attache Tableau de chaînes contenant le nom des fichiers attachés.
    Le nombre de fichiers attachés est illimité.
    Email.IdentifiantAttache Tableau de chaînes de caractères contenant l'identifiant des fichiers attachés inclus dans un message HTML.
    Cette variable est renseignée uniquement lors de la réception d'un email.
     
    #10 khaliassas, Avr 17, 2019
    Dernière édition: Avr 17, 2019
    popoy apprécie ceci.
  • Logan

    Logan Member

    Inscrit:
    Nov 8, 2018
    Messages:
    66
    J'aime reçus:
    3
    Désoler mais ça ne s'affiche pas toujours. Ma question aussi est la suivante : Est ce que une page avec un corps HTML ayant une image est automatiquement considéré comme pièce jointe?
     
  • Logan

    Logan Member

    Inscrit:
    Nov 8, 2018
    Messages:
    66
    J'aime reçus:
    3
    Et si quelqu'un a un autre exemple pour afficher le Corps du Mail HTML avec Photo wm22 je suis preneur. Merci
     
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Désoler mais ça ne s'affiche pas toujours. Ma question aussi est la suivante : Est ce que une page avec un corps HTML ayant une image est automatiquement considéré comme pièce jointe?
    Cliquez pour agrandir...
    non ca depend de l'envoie du mail.
    l'image peut etre encoder dans le mail ou dans ton cas il indique le cid et joint l'image en piece jointe

    il doit rester des erreurs dans la recuperation des pieces jointes.

    il faudrait que tu fasse des trace ou ses top pour voir ce qu'il recupere a ufur et amessure pour voir ou ca cloche.

    tu n'as pas de message d'erreur ?

    peux tu remplacer ton code de parcour de email.attache par :

    Code (Windev):

       POUR I = 1 À MonEmail..Attache..

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


            trace(MonEmail..Attache[i].Nom)
        FIN[/I]
     

    a inserer donc dans ta boucle pour tout monemail de tabeaminonlus
    [/I]
     
    #13 khaliassas, Avr 17, 2019
    Dernière édition: Avr 17, 2019
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    Je pense que ton parcours n'ai pas initier par emaillit.... la variable email n'est pas renseignée.
    ta variable email est celle initié par ton parcours est MonEmail
     
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    donc je partirais plus sur ce code
    Code (Windev):

    POUR I = 1 À monemail..Attache..

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


       
        // Copier le fichier dans un répertoire temporaire
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (monemail..Attache[I], ...
        Repert_Temp + monemail..Attache[I]..Nom)
        // Récupérer l'identifiant du fchier attaché dans le mail
        CID = "cid:" + monemail..Attache[I]..Identifiant
        // Remplacer les références au fichier attaché
        // par le nom réel du fichier
        Email.HTML =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (monemail..HTML, CID, "file:" + ...
        Repert_Temp + monemail..Attache[I]..Nom)
    FIN
     
     
  • Logan

    Logan Member

    Inscrit:
    Nov 8, 2018
    Messages:
    66
    J'aime reçus:
    3
    Merci abeaucoup khaliassas mais ça perdure toujours. J'ai comme l'impression que peut-etre mon code à des problèmes. Je ne sais pas si tu peux modifier directement mon code en simplifiant ce code et ajouté la partie du Corps HTML puisque dans ma table j'ai bien du texte mais pas d'image du Corps de l'email

    MaSession est une emailSessionPOP3

    MaSession..AdresseServeur = "Mon adresse Mail"
    MaSession..Nom = "Nom du serveur"
    MaSession..MotDePasse = "Mot de Passe"

    MaSession..Port=110 // A verifier dans votre cas


    //EmailOuvreSession(MaSession)

    // Change le timeOut de connexion, on le passe à 5 secondes
    //EmailChangeTimeOut(5)

    // Récupération de tous les emails non lus de la boîte de réception.
    ///SessionIMAP est une emailSessionIMAP
    tabEmailNonLus est un tableau de Emails

    // Ouverture de la session
    //EmailOuvreSession(MaSession)

    SI EmailOuvreSession(MaSession) = Faux ALORS

    FIN

    // Récupération de tous les emails non lus
    tabEmailNonLus = EmailRécupèreTout(MaSession, ertNonLus)

    // Affichage des informations de chaque email
    POUR TOUT MonEmail DE tabEmailNonLus

    TableAjouteLigne(TABLE_EMAIL,MonEmail..Expediteur,MonEmail..Sujet, MonEmail..Message, MonEmail..HTML)

    Sai_ChampAffichageHTML=Email.html

    FIN

    ////////////////////////////////////////////////////////////////////////////////

    Et dans le Sai_ChampAffichageHTML voilà une fois de plus le code renvoyé :

    <html>
    <head>
    <title>Inserting Image </title>
    </head>
    <body>

    <h2></h2>
    <center><img src="cid:wdcid2AC78184146630EF" width="350px" height="500px"></center>

    </body>
    </html>

    Bon à quel niveau puis-je insérer ton code pour prendre en considération l'image "cid:wdcid2AC78184146630EF"






     
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    ben comme dis plus haut je pense que tu peux faire ca comme code
    Code (Windev):

    MaSession est une emailSessionPOP3

    MaSession..AdresseServeur = "Mon adresse Mail"
    MaSession..Nom = "Nom du serveur"
    MaSession..MotDePasse = "Mot de Passe"

    MaSession..Port=110 // A verifier dans votre cas


    //EmailOuvreSession(MaSession)

    // Change le timeOut de connexion, on le passe à 5 secondes
    //EmailChangeTimeOut(5)

    // Récupération de tous les emails non lus de la boîte de réception.
    ///SessionIMAP est une emailSessionIMAP
    tabEmailNonLus est un tableau de Emails

    // Ouverture de la session
    //EmailOuvreSession(MaSession)

    SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (MaSession) = Faux ALORS
     
    FIN

    // Récupération de tous les emails non lus
    tabEmailNonLus =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (MaSession, ertNonLus)
    Repert_Temp,CID est chaîne

    // Affichage des informations de chaque email
    POUR TOUT MonEmail DE tabEmailNonLus
     

        POUR I = 1 À MonEmail..Attache..

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


       
            // Copier le fichier dans un répertoire temporaire
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (MonEmail..Attache[I], ...
            Repert_Temp + MonEmail..Attache[I]..Nom)
            // Récupérer l'identifiant du fchier attaché dans le mail
            CID = "cid:" + MonEmail..Attache[I]..Identifiant
            // Remplacer les références au fichier attaché
            // par le nom réel du fichier
            MonEmail..HTML =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (MonEmail..HTML, CID, "file:" + ...
            Repert_Temp + MonEmail..Attache[I]..Nom)
        FIN
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (TABLE_EMAIL,MonEmail..Expediteur,MonEmail..Sujet, MonEmail..

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    , MonEmail..HTML)
     
     
    FIN
     
    par contre tu devrais passer

    Code (Windev):


       Sai_ChampAffichageHTML=Email.html
     
     
    dans un code de selection de ta ligne du tableau tableemail
    Code (Windev):

    Sai_ChampAffichageHTML=TABLE_EMAIL[tableselect(TABLE_EMAIL)].col_nomde la colonne htm
     
     
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    après pour être sur du parcours de tes pièces jointe tu peux rajouter un trace dans la boucle.


    tu devrai remplacer comme dis plus haut ton champ de saisie par un champ html
     
    #18 khaliassas, Avr 17, 2019
    Dernière édition: Avr 17, 2019
  • Logan

    Logan Member

    Inscrit:
    Nov 8, 2018
    Messages:
    66
    J'aime reçus:
    3
    Désoler

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    , Décidément toujours pas d’affichage voilà le message du code du Sai_Champ_HTML après lancement :

    <html>
    <head>
    <title>Inserting Image </title>
    </head>
    <body>

    <h2></h2>
    <center><img src="file:1.jpg" width="350px" height="500px"></center>

    </body>
    </html>




    1.jpg est bien le nom de l'image en question, mais je vois comme si qu'il y' a un problème de chemin qui n'est pas toujours bien décelé.

    Je suis dépassé par les évènements toujours capricieux je ne sais vraiment quoi faire jusqu'à présent
     
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    tu n'as pas renseigner ton " Repert_Temp" avec le chemin que tu souhaite
     
    Logan apprécie ceci.
  • Partager cette page

    Chargement...