Einzelnen Beitrag anzeigen

Gecko
(Gast)

n/a Beiträge
 
#1

Indy/POP3 von GMail klappt nicht richtig

  Alt 24. Mai 2007, 10:21
Hallo,

ich kann mit folgendem Code von JEDEM normalen POP3-Server Mails abrufen:

Delphi-Quellcode:
if not pop.Connected then pop.Connect;
MsgCount := POP.CheckMessages;

for i := 1 to MsgCount do begin

POP.Retrieve(i, msg);

if msg.ContentType='text/plainthen
bodytext:=msg.Body.Text;

for j:= 0 to Pred(msg.MessageParts.Count) do begin
if msg.MessageParts.Items[j] is TIdText then bodytext:=(Msg.MessageParts[j] as TIdText).Body.Text;
Dies klappt bei Textmails, HTML Mails usw...


Nun habe ich jedoch versucht das ganze über SSL (ist notwendig bei GMail) bei GMail zu machen.
Habe die OpenSSL DLLs ins Verzeichnis kopiert, den Indy SSL Handler auf die Form gezogen und sslvSSLv2 sowie "UseImplicitTSL" eingestellt.
Natürlich ebenso pop.googlemail.com und Port995.


Nun schien es anfangs zu funktionieren...Über POP.RetrieveHeaders(...) bekam ich Absender,Betreff und Datum.
Und über RetriveRaw bekam ich die komplette Nachricht eben im RAW-Format angezeigt. So schön so gut.

Nun wollte ich die Nachrichten wie oben ganz normal abrufen. Aber Pustekuchen: Der Body blieb zu 95% leer!
MessageParts.Count zeigte er mir bei allen Mails IMMER 0 an und im msg.body.text war auch nur sehr selten etwas drin (nur bei expliziten Textmails)!

Ich weiss nicht woran es liegt, aber evtl könnte es daran liegen das
Msg.IsBodyEncodingRequired auf true steht....aber was IsBodyEncodingRequired bedeutet weiss ich nicht...bei google findet man auch so gut wie nichts dazu

Hoffe ihr könnt mir helfen!

PS: Das ist das einzige was ich dazu gefunden hab:
http://www.indyproject.org/docsite/h...gRequired.html
  Mit Zitat antworten Zitat