Co tu jest źle...

0

Cześć @LL

Co tu jest źle:

code
i, b: integer;
begin
for b := 0 to Pred(Msg.MessageParts.Count) do
begin
if Msg.MessageParts.Items[i] is TIdText then
begin
TIdText(Msg.MessageParts.Items[i]).Body.SaveToFile(ZmiennaZFolderem + (Msg.Subject)+'.txt');
end;
end;
end;[/code]

Ta procedura zapisuje mi sam pusty plik, a powinna zapisywać do niego zawartość maila...

0

Argument pętli masz b, a potem używasz zmiennej i.

0

Jak zmienić tą procedurę, żeby zapisywała treść odebranych maili do plików?

Msg --> TIdMessage
POP --> TIdPOP3
lvHeaders --> TListView

[code]procedure TfrmMain.RetrievePOPHeaders(inMsgCount: Integer);
var
intIndex: integer;
i: integer;
lv: TListItem;
begin
lvHeaders.Items.Clear;
for intIndex := 1 to inMsgCount do
begin
Application.ProcessMessages;
Msg.Clear;
POP.RetrieveHeader(intIndex, Msg);

lv := lvHeaders.Items.Add;
lv.Caption := Msg.Subject;
lv.SubItems.Add(Msg.From.Text);
lv.SubItems.Add(DateToStr(Msg.Date));
lv.SubItems.Add(IntToStr(POP.RetrieveMsgSize(intIndex)));

for intIndex := 0 to Pred(Msg.MessageParts.Count) do
begin
if Msg.MessageParts.Items[i] is TIdText then
begin
TIdText(Msg.MessageParts.Items[i]).Body.SaveToFile(odebrane + (Msg.Subject)+'.txt');
end;
end;
end;
end;[/code]

1 użytkowników online, w tym zalogowanych: 0, gości: 1