bonjour,
je n'arrive pas à récupérer les pièces jointes d'un mail sur un serveur pop.
Un bout de code :
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 :
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
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.
Partager