Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy/POP3 von GMail klappt nicht richtig (https://www.delphipraxis.net/92677-indy-pop3-von-gmail-klappt-nicht-richtig.html)

Gecko 24. Mai 2007 09:21


Indy/POP3 von GMail klappt nicht richtig
 
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/plain' then
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

mischerr 30. Jun 2007 14:06

Re: Indy/POP3 von GMail klappt nicht richtig
 
Hallo.

Hatte mit Indy das gleiche Problem: Musste auch eMails per OpenSSL von GMail-Konten abrufen und musste an die Attachments.

Das klappte leider in 99% der Fälle nicht.
Indy scheint hier massive Probleme zu haben, eMails richtig zu decodieren.

Da es mir irgendwann ziemlich auf die Nerven ging, dass viele eMails nur dann richtig decodiert wurde, wenn der Absender den richtigen eMail-Client einsetzte, bin ich zu Synapse-Library gewechselt: Synapse


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:55 Uhr.

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