Bonjour,

Je fais un logiciel de messagerie avec Delphi 2006 sous WinXP.

Je me connecte donc au serveur sur lequel se trouve les e-mails. Le problème survient lorsque je demande de rapatrier l'entête des e-mails.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Pop3.RetrieveHeader(I, IDMessage1);
Il m'envoie un message d'erreur lorsque je lance cette ligne de code dans le soft :

Project Messagerie.exe raised exception class EIdReplyPOP3Error with message ''.
Par contre, lorsque j'écris seulement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Pop3.Retrieve(I, IDMessage1);
il ne me dit rien ...

Le problème c'est que j'ai vraiment besoin de l'entête ...

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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
[...]
 
procedure TForm1.Button1Click(Sender: TObject);
var
  NombreMsg : Integer;
  Taille : Integer;
 
begin
  Memo1.Clear;
 
  if Pop3.Connected then Pop3.Disconnect;
  Pop3.Connect;
 
  NombreMsg := Pop3.CheckMessages;
  Taille := Pop3.RetrieveMailBoxSize div 1024;
 
  if NombreMsg > 0 then
    begin
      ChargeEntetes(NombreMsg);
      Label1.Caption := IntToStr(NombreMsg);
    end
  Else
    begin
      ShowMessage('Pas d''e-mail ...');
    end;
end;
 
[...]
 
Procedure TForm1.ChargeEntetes(NombreMsg: Integer);
var
  Item : TListItem;
  I : Integer;
 
begin
  ListView1.Items.Clear;
  for I := 0 to NombreMsg do
    begin
      Application.ProcessMessages;
      Memo1.Clear;
      Pop3.RetrieveHeader(I, IDMessage1);   <= Le problème se situe à cette ligne ci 
      Item := ListView1.Items.Add;
      Item.Caption:= IDMessage1.Subject;
      Item.SubItems.Add(IDMessage1.From.Text);
      Item.SubItems.Add(DateToStr(IDMessage1.Date));
    end;                
end;
 
[...]
D'avance merci pour votre aide !!!