AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy 10 und POP3 - Wo bleibt die Kompatibilität
Thema durchsuchen
Ansicht
Themen-Optionen

Indy 10 und POP3 - Wo bleibt die Kompatibilität

Ein Thema von Jelly · begonnen am 7. Sep 2005 · letzter Beitrag vom 7. Sep 2005
 
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#1

Indy 10 und POP3 - Wo bleibt die Kompatibilität

  Alt 7. Sep 2005, 20:25
Ich hab mein Delphi 6 mit den Indy 10 Komponenten aufgepeppt, und bereue es schon bitter. Kann leider aus diversen Gründen nicht mehr zurück.

Also von Kompatibilität zu Indy 6 kann da ja nicht die Rede sein, aus Eigenschaften UserId wird Username usw... aber das war noch das geringste Problem.

Ich muss Mails abrufen von einem POP3 Account. Diese Mails muss ich aber anhand des Headers erst identifizieren. Ich hatte früher im Header stehen:
Code:
X-Mailer: {3B6F1A33-6F58-46C6-BA52-F7908CC0B3DF}
Indy 10 geht jetzt plötzlich hin, und liefert mir bei
N := POP3.CheckMessages ; den Wert 0. Mit Indy 6 gings. Hab ich im X-Mailer was einfaches stehen wie TEST, so findet TIdPOP auch die Message.
Aaargh. Was soll das. Irgendwie wollt ich dies GUID im Header aber schon stehen lassen.

Das viel wichtigere Problem ist aber folgendes. Über folgende Prozedur lade ich die ganze Mail unter Indy 6 problemlos herunter:
Delphi-Quellcode:
procedure TImportWebRegistration.GetMail (Nr : string) ;
var
 intIndex : integer ;
 s : string ;
 LI : TListItem ;
 i : integer ;
begin
      i := StrToInt (Nr) ;
      if i <> -1 then begin
          IndyPOP3.Retrieve(i,FIndyMessage) ;

          for intIndex := 0 to pred(FIndyMessage.MessageParts.Count) do
          begin
              if FIndyMessage.MessageParts.Items[intIndex] is TIdText then
              begin
                s := TIdText(FIndyMessage.MessageParts.Items[intIndex]).Body.text ;
                CutoffUnImportantParts (s) ;
                FSB.BaseString := s ;
                FSB.BreakString := #13#10 ;
                FSB.BreakApart ;

                FContent.Assign (FSB.StringList) ;

                if assigned (OnImported) then OnImported (Counter{StrToInt(Nr)},Content) ;
              end
          end;

          if DeleteAfterImport then begin
             IndyPOP3.Delete(i) ;
             GetMessageIDs ;
          end ;
      end ;
end ;
Unter Indy 10 wird die for intIndex Schleife NIE durchlaufen. Warum nicht? Es ist eine ganz normale Mail die über den PHP Befehl SendMail verschickt wurde.

Also so langsam bereue ich den Umstieg auf Indy 10. Aber das löst mein Problem nun auch nicht.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:05 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