bonjour,

je n'arrive pas à récupérer les pièces jointes d'un mail sur un serveur pop.
Un bout de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
IdPOP31.Host := 'pop.bidule.com';
IdPop31.Username := 'login';
IdPOP31.Password := 'password';
IdPOP31.Connect();
if IdPOP31.CheckMessages > 0 then
begin
  IdPOP31.Retrieve(IdPOP31.CheckMessages,IdMessage1);
  for i:=0 to IdMessage1.MessageParts.Count-1 do
  begin
    if (IdMessage1.MessageParts.Items[i] is TIdAttachment) then
    begin
      IdAttachment(IdMessage1.MessageParts.Items[i]).SaveToFile('c:\ujr\ujr'+IntToStr(IdPOP31.CheckMessages)+'.zip');
    end;
  end;
end;
Bien entendu, IdPOP31 est unTIdPOP3 et IdMessage1 est un TIdMessage.

Le problème est au niveau du :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
if (IdMessage1.MessageParts.Items[i] is TIdAttachment) then
même quand le message comporte une PJ, la condition est "false". En testant le type de chaque messageParts par un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ShowMessage(IdMessage1.MessageParts[i].ClassName);
j'ai pu découvrir que ce sont toujours des TIdText. Je suis pourtant sûr de la présence d'une PJ.

Quelqu'un aurait-il une idée sur l'origine du problème ?

PS : Je sais pas si j'ai été très clair... Si vous voulez quelques précisions, n'hésitez pas à demander.