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 :
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
If IdMessage1.MessageParts.Items[j] is TIdAttachment
que je parviens pas à retranscrire en C++ Builder (XE2).
La ligne
If IdMessage.MessageParts.Items[j] is TIdText
se retranscrit en
1 2
| TIdMessagePart *Part2 = aIdMessage->MessageParts->Items[j];
if (IsHeaderMediaType(Part2->ContentType, "text/plain")) |
Merci de vote aide.
Partager