AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi SASL mit TIdPOP3 und TD Express
Thema durchsuchen
Ansicht
Themen-Optionen

SASL mit TIdPOP3 und TD Express

Offene Frage von "meolus"
Ein Thema von svero · begonnen am 12. Sep 2006 · letzter Beitrag vom 19. Dez 2006
Antwort Antwort
svero

Registriert seit: 6. Sep 2006
Ort: Berlin
2 Beiträge
 
Turbo Delphi für Win32
 
#1

SASL mit TIdPOP3 und TD Express

  Alt 12. Sep 2006, 10:36
Hallo allerseits!

Das Erzeugen einer Instanz von TIdPOP3 unter Turbo Delphi Explorer ist ja kein Thema und funktioniert soweit auch ganz gut. Allerdings habe ich ein Problem, die SASL-Unterstützung ohne Eigenschafteneditor zu konfigurieren. Nach den Informationen im Netz, die ich so auf meiner Suche gefunden habe, wird die Eigenschaft "SASLMechanisms" über den Eigenschafteneditor gesetzt, was natürlich nur funktioniert, wenn man TIdPOP3 über den visuallen Forms-Editor einfügt. Das geht ja bekanntlich nicht bei der Explorer-Ausgabe von Turbo Delphi (der "Trick" mit dclusr.dpk hat auch nicht wirklich funktioniert). Ich hatte mir auch mal die Quellen von Indy 10 angesehen, komme damit aber auch nicht weiter.

Ich würde mich sehr freuen, wenn mir hier jemand auf die Sprünge helfen würde. Die Installation von Indy 10 in Delphi 2005 Personal, um zu sehen, wie es der Eigenschafteneditor macht, hat leider trotz des Tutorials hier nicht funktioniert (siehe mein Artikel dort).

Vielen Dank im Voraus!

Gruß,
Sven
  Mit Zitat antworten Zitat
Benutzerbild von meolus
meolus

Registriert seit: 28. Aug 2005
Ort: Aachen
20 Beiträge
 
Delphi 2006 Professional
 
#2

Re: SASL mit TIdPOP3 und TD Express

  Alt 19. Dez 2006, 21:33
Hi,

hast du schon eine Lösung?
Hab jetzt nach ner Weile folgenden Code zusammen:
Delphi-Quellcode:
var
  IdPOP3: TIdPOP3;
  IdSSLIO: TIdSSLIOHandlerSocketOpenSSL;

[ ... ]

  IdPOP3 := TIdPOP3.Create(MainForm);
  try
    IdPOP3.AuthType := TIdPOP3AuthenticationType(CBAuthType.ItemIndex);
    IdPOP3.Host := EdHost.Text;
    IdPOP3.Port := StrToInt(EdPort.Text);
    IdPOP3.Password := MEPassword.Text;
    IdPOP3.Username := EdLogin.Text;

//#################################################################
//#################################################################
    if Ord(IdPOP3.AuthType) = 2 then begin
      IdPOP3.SASLMechanisms.Add;
      IdPOP3.SASLMechanisms.Items[0].SASL := TIdSASLAnonymous.Create;
    end;
//#################################################################
//#################################################################

[ ... ]

    try
      IdPOP3.Connect;
    except
      on EIdDoesNotSupportAPOP do begin
        bError := true;
        MessageBox(Handle, PChar('Der Server unterstützt die Authentifizierung'+
         ' mittels "APOP" nicht. (Es wurde keine Timestamp übermittelt.)'),
         PChar('Fehler - Verbindung fehlgeschlagen'), $00000010);
      end;
      on EIdSASLMechNeeded do begin
        bError := true;
        MessageBox(Handle, PChar('Es wurde kein SASL-Mechanismus für den Login'+
         ' ausgewählt.'), PChar('Fehler - Verbindung fehlgeschlagen'),
         $00000010);
      end;
    end;

[ ... ]

  finally
    IdPOP3.Free;
  end;
Und zwar wenn in den Teil zwischen den zwei fetten Kommentaren mit den zwei "IdPOP3.SASLMechanisms" rauslasse, dann bekomme ich wenn ich AuthType = atSASL habe jedes mal die Exception "EIdSASLMechNeeded".
Daraufhin hab ich die besagten Zeilen eingefügt und ich bekomme die Exception nicht mehr. Dafür verwundert es mich doch egal, welches "SASLMechanisms.Items" ich hinzufüge (TIdSASLAnonymous, TIdSASLLogin, TIdSASLPlain ... ) scheint der Login zu funktionieren, auch wenn mir IdPOP3.Capabilities diese SASL-Methode(n) nicht auflistet?!
Real programmers don't comment their code;
if it was hard to write, it should be hard to read.
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:17 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