Bonsoir
Je réalise actuellement un petit programme destiné à identifier sur un serveur de courrier POP3 les messages disponibles ayant une ou plusieurs pièces-jointes, et à lister pour chacun de ces messages les noms de ces fichiers joints, sans nécessairement télécharger ces fichiers.
J'utilise C++ Builder XE, et son composant Indy10 inclus, avec le code suivant :
Je regarde ensuite dans les différentes parties du message s'il y a des pièces-jointes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for(int i=1; i<=NbrMsgs; i++) { POP3_1->Retrieve(i, Message_1); ....... }
Ça fonctionne correctement, j'obtiens bien les noms des différents fichiers joints.
Mon problème est le suivant : Il semble que la commande Retrieve() télécharge d'office la totalité du message, y compris l'intégralité des pièces-jointes, ce qui est très long (et inutile dans mon cas) s'il y a de gros fichiers joints.
La commande RetrieveHeader() ne peut pas résoudre ce problème car, sauf erreur de ma part (l'aide intégrée à Builder XE n'est pas d'une clarté aveuglante), cette commande ne fournit pas le nombre de parties dont est constitué le message.
Ma question est la suivante :
Y-a-t-il un moyen d'obtenir les noms (ou au moins la quantité) de ces fichiers joints, sans avoir à obligatoirement les télécharger tous d'office ?
Merci.
Partager