Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi inhalt einer mail auslesen? (https://www.delphipraxis.net/64122-inhalt-einer-mail-auslesen.html)

ghost007 27. Feb 2006 20:48


inhalt einer mail auslesen?
 
Hallo
,wie kann ich mit der indy komponente (POP3) den inhalt einer email auslesen?

SirThornberry 27. Feb 2006 23:13

Re: inhalt einer mail auslesen?
 
es fehlen einige Informationen. Hast du die Mail bereits als Datei vorliegen? Oder in welcher Form liegt die Mail vor? Oder willst du die Mail noch abfragen.
Mit den von dir gegeben Informationen kann ich nur auf die Komponenten TIdPop3 und TIdMessage verweisen.

ghost007 28. Feb 2006 00:06

Re: inhalt einer mail auslesen?
 
also, die mail liegt immer noch auf dem POP3 Server.
Ich kann auch shcon viele datein auslesen(Betreff, Absender, Empfänger, etc.)
außer dem inhalt ...

OlloSoft 28. Feb 2006 09:06

Re: inhalt einer mail auslesen?
 
Hi ghost007,
hier ein Beispiel Code, der Header und Body der 1. Mail, die auf dem POP3-Server liegt, in ein Memo-Control schreibt.

In deinem Falle ist die Property NoDecode wichtig.

Delphi-Quellcode:
procedure TForm1.btnClick(Sender: TObject);
begin
  Msg.NoDecode := True; // !

  Pop3.Connect;
  try
    if POP3.CheckMessages > 0 then
    begin
      Pop3.Retrieve(1, Msg);

      Memo1.Text := Msg.Headers.Text;     // Header
      Memo1.Lines.Add('');                // Die Leerzeile zwischen Header und Body
      Memo1.Lines.AddStrings(Msg.Body);   // Body
    end;
  finally
    Pop3.Disconnect;
  end;
end;
Ich hoffe, das hilft.
Ollo

Mavarik 28. Feb 2006 09:07

Re: inhalt einer mail auslesen?
 
Schau Dir doch mal das MailClient Beispiel an...

Delphi-Quellcode:
  for intIndex := 0 to Pred(Msg.MessageParts.Count) do
      begin
         if (Msg.MessageParts.Items[intIndex] is TIdAttachment) then
            begin //general attachment
               pnlAttachments.visible := true;
               li := lvMessageParts.Items.Add;
               li.ImageIndex := 8;
               li.Caption := TIdAttachment(Msg.MessageParts.Items[intIndex]).Filename;
    //         li.SubItems.Add(TIdAttachment(Msg.MessageParts.Items[intIndex]).ContentType);
            end
         else
            begin //body text
               if Msg.MessageParts.Items[intIndex] is TIdText then
                  begin
                     Memo1.Lines.Clear;
                     Memo1.Lines.AddStrings(TIdText(Msg.MessageParts.Items[intIndex]).Body);
                  end
            end;
      end;
CU Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz