Autor Beitrag
areuter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75



BeitragVerfasst: Sa 18.06.05 20:37 
hallo.
ich habe mein glück schon im forum für internet-angelegenheiten versucht. leider ohne erfolg!
kann mir jemand bitte helfen. bin am durchdrehen.
möchte "einfach nur" mit idpop3 emails mit anhang empfangen. den anhang in ein verzeichnis speichern. vor allem, wenn in der email 2 dateien enthalten sind.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
procedure TForm1.Button1Click(Sender: TObject);
var mailcount: integer;
var j: integer;
var file123: tfilename;
begin
idpop31.Host:='pop.mail.de';
idpop31.Username:='mustermann@provider.de';
idpop31.Password:='xyzpasswort';
idpop31.Connect();
mailcount:=idpop31.CheckMessages;
for j:=1 to mailcount do
begin
idmessage1.clear;
IdPop31.Retrieve(j,IdMessage1);
label9.Caption:=inttostr(j)+' Emails von '+inttostr(mailcount)+' empfangen';
if idMessage1.MessageParts.Items[j-1] is TIDAttachment then
begin
file123:=(idMessage1.MessageParts.Items[j-1] as TIDAttachment).Filename;
(idMessage1.MessageParts.Items[j-1] as TIDAttachment).SaveToFile('c:\' +file123);
end;
end;
idpop31.Disconnect;
end;
end.


vielen dank im voraus!
arne

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt.
dingdoi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: So 19.06.05 00:02 
Wenn keine "richtigen" Fehler auftreten, fehlt meiner Meinung nach in deinem Code nur die Schleife über die MessageParts:

ausblenden volle Höhe Delphi-Quelltext
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:
procedure TForm1.Button1Click(Sender: TObject);
var
  mailcount: integer;
  j, i: integer;
  filename: string;
begin
  idpop31.Host:='pop.mail.de';
  idpop31.Username:='mustermann@provider.de';
  idpop31.Password:='xyzpasswort';
  idpop31.Connect();

  mailcount:=idpop31.CheckMessages;
  for j:=1 to mailcount do
  begin

    idmessage1.clear;
    IdPop31.Retrieve(j,IdMessage1);
    label9.Caption:=inttostr(j)+' Emails von '+inttostr(mailcount)+' empfangen';

    for i := 0 to idMessage1.MessageParts.Count - 1 do // <SCHLEIFE ÜBER MESSAGEPARTS>
    begin

      if idMessage1.MessageParts.Items[i] is TIDAttachment then
      begin
        filename := (idMessage1.MessageParts.Items[i] as TIDAttachment).Filename;
        (idMessage1.MessageParts.Items[i] as TIDAttachment).SaveToFile('c:\' + filename);
      end;

    end;

  end;

idpop31.Disconnect;
end;



Grüße,
Jan