Bonjour à tous!!!
ok, ça fait longtemps que je ne participe pas mais je vous apporte aujourd' hui une solution à un problème qui ne survient pas souvent.
Il arrive que lorsque l' on veut récupérer le nom de fichier d' un fichier anexé (par la propriété filename), celui-ci est une chaine vide.
Pourquoi?
---------
Je vous ai mis dans le fichier zip un exemple d' un mail que j' ai reçut (je l' ai réduit car les données des anexes etaient grands):
IdMessage.txt contient toute l' info sur le mail reçut (Body+anexes)
Les deux premiers "Messageparts" contiennent le body en format Html/texte
Le message possède 4 anexes dont les données sont dans les fichiers suivants :
ATTACHMENT NR 3.TXT est le contenu d' un anexe dont filename est vide.
ATTACHMENT NR 4.TXT est le contenu d' un anexe dont filename est vide.
ATTACHMENT NR 5.TXT est le contenu d' un anexe dont filename est vide.
ATTACHMENT NR 6.TXT est le contenu d' un anexe dont filename est vide.
Ces 4 anexes sont donc dans le mail donné ici dans IdMessage.txt ...
Comme on peut le voir dans ces 4 fichiers, ces 4 "Messageparts" contiennent ... (roulement de tambour) ... chacun toute l' information d' un mail (body et anexe(s) compris), allez savoir pourquoi!
Ce que je peux vous dire c' est que le mail futr envoyé via Outlook.
Je vous montre alors comment récupérer l' info de ces 4 "Messageparts" de type TidAttachment (TidAttachment=anexe) qui sont eux memes des anexes au mail principal, Body + possibles anexes cette fois sans toucher aux compos Indy.
Le truc est de créer TIdMessage dynamiquement et de lui attribuer le contenu de chaque "Messagepart" du mail principal afin que le compo crée dynamiquement puisse extraire le body+anexes!
--------------------------------------------------------------
Je vous conseille aussi de regarder ma dernière source:
MAILS AVEC INDY10, RÉSOLUTION DU PROBLÈME LORSQUE CHARSET = UTF-8
http://www.delphifr.com/codes/MAILS-AVEC-INDY10-RESOLUTION-PROBLEME-LORSQUE-CHARSET-UTF_43582