Bonjour,
j'utilise un TPop3 pour lire des Emails.
Je voudrais savoir comment télécharger les pièces jointes, lorsqu'il y en a.
J'ai trouvé un morceau de code écrit en DELPHI :
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
for i := 1 to idPop3.CheckMessages do 
  begin 
    // On récupère le message complet 
    idPop3.Retrieve(i,IdMessage); 
* 
    // Si on a plusieurs parties dans le mail alors on a une pièce jointe  
    If IdMessage.MessageParts.Count > 0 then 
      for j := 0 to IdMessage.MessageParts.count -1 do 
      begin 
        // Est-ce une partie texte du mail ? 
        If IdMessage.MessageParts.Items[j] is TIdText then 
        begin 
        // A vous de traiter comme bon vous semble cette partie du mail  
          Showmessage(TIdText(IdMessage.MessageParts.Items[j]).Body.text); // Par exemple           
        end; 
* 
        // Est-ce une pièce jointe ? 
         If IdMessage1.MessageParts.Items[j] is TIdAttachment then 
           With TIdAttachment(IdMessage1.MessageParts.Items[j]) do 
             If not FileExists('C:\Users\C:\Users\xxx\xxx\xxxx\' + FileName) then 
                 // On sauvegarde le fichier 
                 SaveTofile('C:\Users\xxx\xxx\xxxx\' + Filename); 
      end; // for
C'est la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 If IdMessage1.MessageParts.Items[j] is TIdAttachment
que je parviens pas à retranscrire en C++ Builder (XE2).

La ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
If IdMessage.MessageParts.Items[j] is TIdText
se retranscrit en
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
TIdMessagePart *Part2 = aIdMessage->MessageParts->Items[j];
if (IsHeaderMediaType(Part2->ContentType, "text/plain"))
Merci de vote aide.