Fichiers *.eml

metout Messages postés 2 Date d'inscription jeudi 5 août 2004 Statut Membre Dernière intervention 6 août 2004 - 5 août 2004 à 17:24
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 - 20 janv. 2006 à 02:29
Comment faire, le plus simplement possible pour récupérer la pièce jointe comprise dans un fichier *.eml sour VB6 ?

Merci par avance

4 réponses

cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
6 août 2004 à 10:06
Tout depend de l'encodage !

les fichier *.eml sont simplement des fichiers texte
si la piece jointe est encodé en "plain text" il suffit
de lire la piece jointe comme n'importe quel autre
texte si c'est un codage "base64" lire la piece
puis la decoder...

Chaque logiciel de messagerie a ces propre standard
en matiere de syntaxe de message par exemple pour
outlook il suffit de lire la baslise : "Content-Disposition:"
si celle ci est egale a "attachment;" alors les données
qui suivent seront celles d'une piece jointe.

@+

E.B.
0
metout Messages postés 2 Date d'inscription jeudi 5 août 2004 Statut Membre Dernière intervention 6 août 2004
6 août 2004 à 10:52
Merci pour cette information.
Bonne journée
0
cs_abelabbas Messages postés 6 Date d'inscription vendredi 5 avril 2002 Statut Membre Dernière intervention 30 mars 2005
28 oct. 2004 à 22:02
utilise CDO:
exp:
-------------------------

Dim iDsrc As CDO.IDataSource
Dim iMsg As New CDO.Message


Dim stm As New ADODB.Stream

Call stm.Open(, adModeUnknown, adOpenStreamUnspecified, "", "")
stm.LoadFromFile ("C:\1.eml")

Set iDsrc = iMsg.DataSource

Call iDsrc.OpenObject(stm, "_Stream")

Debug.Print iMsg.GetStream.ReadText(ADODB.StreamReadEnum.adReadAll)
iMsg.Attachments.Item(1).SaveToFile "C:\1.txt"
0
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
20 janv. 2006 à 02:29
J'arrive un peu tard sur le forum mais est-il possible de faire l'inversde avec CDO, à savoir créer un fichier eml avec ajout de pieces jointes.

Toutes les docs que j'ai trouvées servent à envoyer un message mais aucun ne présente comment créer un fichier eml. Or j'ai vu qu'il existe une fonction SendTo dans CDO.Message

J'ai fait quelques essais mais sans resultat.

Merci d'avance
Bonne prog
++
0
Rejoignez-nous