|
| Email avec image dans le corp du message. |
| Débuté par collectif.vrp, 30 déc. 2004 10:49 - 5 réponses |
| |
| | | |
|
| |
| Posté le 30 décembre 2004 - 10:49 |
Bonjours,
Je cherche depuis 4 jours à incorporer une Image dans un corp du message Email. Je ne trouve pas la solution, malgré divers essai, je suis completement bloqué avec cette histoire, j'avoue même completement perdu !
Merci vraiment pour me dépanner.
Richard
Ci-joint un bout de code :
// Initialisation de la structure e-mail Email.Destinataire= Table_Fichier.Col_Email Email.ConfirmationLecture=Faux Email.Expéditeur = MailDéfaut Email.Sujet=Col_Sujet Email.Message ="" Email.nbDestinataire =1 Email.Attache="c:\test.JPG" Email.IdentifiantAttache=1 Email.NbAttache=1 SetFichierAttache("C:\Test.JPG",Email.IdentifiantAttache) // Envoi du message bOK=EmailEnvoieMessage(NomUser) SI PAS bOK ALORS SI PAS EmailOuvreSessionSMTP(Sai_Login,Sai_ServeurSmtp) ALORS Col_Etat[i]="Abandon" SORTIR SINON Col_Etat[i]="Echec" FIN SINON Col_Inter[i]=Faux Col_Etat[i]="Envoyé" ; MultitacheRepeint() FIN
//Procédure en exemple dans la doc Page 391 PROCEDURE SetFichierAttache(NomFichier,indice)
Email.Attache[indice]=NomFichier CID est une chaîne="cid:WDCID"+indice Nomsimple est une chaîne=fExtraitChemin(NomFichier,fFichier+fExtension) Pos est un entier=0 PosDébut,PosFin sont des entiers SousChaîne est une chaîne Pos =Position(Email.HTML,Nomsimple,Pos) SI Pos <> 0 ALORS PosFin=Pos+Taille(Nomsimple) Pos -- SousChaîne=Email.HTML[[Pos]] TANTQUE Pos >1 ET SousChaîne<>"""" Pos-- SousChaîne=Email.HTML[[Pos]] FIN PosDébut=Pos + 1 SousChaîne=Milieu(Email.HTML,PosDébut,PosFin-PosDébut) Email.HTML=Remplace(Email.HTML,SousChaîne,CID) FIN |
| |
| |
| | | |
|
| | |
| |
| Posté le 30 décembre 2004 - 09:48 |
Bonjour,
Je ne retrouve pas la procédure que tu m'as décris dans l'exemple WD8 POP3 "AttacheHTML"
Peut tu stp me la copier.
@+
Richard |
| |
| |
| | | |
|
| | |
| |
| Posté le 30 décembre 2004 - 12:49 |
Email = fichier TEXTE. voir RFC822 qui décrit l'email sur internet (google -> "RFC822") On ne peut donc pas y incorporer des images.
Par contre on peut y mettre un texte HTML qui fait référence à des images qui sont contenues en attachement dans l'email (en fichiers attachés) OU qui sont des images en URL.
Cette dernière solution est la meilleure car outlook qui est l'outil email majoritairement utilisé par défaut n'ouvre pas les images si elles sont attachées, mais accepte de le faire si elles proviennent dynamiquement d'un site web. |
| |
| |
| | | |
|
| | |
| |
| Posté le 30 décembre 2004 - 12:51 |
Voilà :
PROCEDURE AttacheHTML(LOCAL NomFichier, Indice)
Email.Attache[Indice] = NomFichier // Remplacer dans Email.HTML toutes les références au fichier // par l'identifiant cid CID est une chaîne = "cid:wdcid" + Indice
// Le fichier html n'a pas forcément été crée dans le répertoire en cours // Il peut référencer les fichiers attachés sous des chemins quelconques // On extrait donc le nom du fichier sans chemin NomSimple est une chaîne = fExtraitChemin(NomFichier, fFichier + fExtension)
// Rechercher le nom du fichier dans Email.HTML Pos est un entier = 0 PosDébut, PosFin sont des entiers SousChaîne est une chaîne Pos = Position(Email.HTML, NomSimple, Pos)
SI Pos <> 0 ALORS
PosFin = Pos + Taille(NomSimple) // Rechercher la position du début de la référence // Rechercher le delimiteur " Pos --
SousChaîne = Email.HTML[[Pos]] TANTQUE Pos > 1 ET SousChaîne <> """" Pos -- SousChaîne = Email.HTML[[Pos]] FIN PosDébut = Pos + 1 // Remplacer SousChaîne = Milieu(Email.HTML, PosDébut, PosFin-PosDébut) Email.HTML = Remplace(Email.HTML, SousChaîne, CID)
FIN
A+ |
| |
| |
| | | |
|
| | |
| |
| Posté le 30 décembre 2004 - 13:06 |
J'avais déjà réussi à faire ça. Il faut que dans la structure d'initialisation de l'email, tu renseignes la variable Email.HTML.
Je t'explique comment j'avais fait : J'avais créé l'email au format HTML. (Une page Internet) J'avais sauvegardé le code source dans un fichier texte.
Avec fOuvre, et fLit, j'avais renseigné Email.HTML : NumFic = fOuvre(CodeSourceHTML.txt,foLecture) Email.HTML = fLit(NumFic,1500) // 1500 = lecture complète du fichier txt
Ensuite, j'avais créé une chaine qui contenait toutes les images de l'email, par exemple : MesImages est une chaine = "C:\Img01.gif;C:Img02.gif;C:Img03.gif" (toutes ces images sont dans l'email, donc dans le fichier CodeSource.txt)
... // Remplissage de la structure email
i est un entier = 1 Fic est une chaine = ExtraitChaine(MesImages,i,";") TANTQUE Fic <> EOT AttacheHTML(Fic,i) // Procédure fournie dans l'exemple WD8POP3 i++ ; Fic = ExtraitChaine(MesImages,i,";") FIN
Email.nbattache = 3 // 3 parceque 3 images bMsgEnv = EmailEnvoieMessage(COMPTE.Login)
En tout cas, ça devrait te mettre sur la voie, car j'avais réussi. A+ |
| |
| |
| | | |
|
| | |
| |
| Posté le 30 décembre 2004 - 13:09 |
Merci beaucoup pour ton explication, par contre pourrais tu me donner un exemple du format Htlm incorporer au message.
Richard |
| |
| |
| | | |
|
| | | | |
| | |
|