Bonjour,

Je teste la récupération de mail via les composants Indy d'une part sous Delphi 6 / Indy 8.0.25 et d'autre part sous Delphi 2009 / Indy 10.2.5 (dans le cadre d'une migration)

J'utilise dans le cas delphi 6 le projet de demo livré avec Indy => maildemo et dans le cas delphi 9 le projet demo téléchargé sur le site indy dans la rubrique consacrée aux demo de la version 10.

Après chargement dans les 2 IDE, le source est quasiment identique.

Pour le test j'utilise un mail "hello world" depuis thunderbird. Le relevé des entêtes de message marche bien dans les 2 cas par contre lorsque j'essaye de lire le corps du message ça ne fonctionne pas du tout dans le cas delphi 2009 / Indy 10.

Je pense avoir identifié le problème, il vient de la ligne :

for intIndex := 0 to Pred(Msg.MessageParts.Count) do

Elle démarre une boucle qui, pour le message en cours de traitement détermine les parties du message.

Dans le cas Indy 8 le msg.messageparts.count retourne bien 1 par contre en Indy 10 il retourne toujours 0 (dans le cas simple de mon hello world qui ne contient qu'une partie)

Même code, même mail mais 2 versions du composant Indy.

Quelqu'un a-t-il été confronté à ce problème ? J'ai pas trouvé de solution sur le net à cette heure-ci.

Merci d'avance