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
Benutzerbild von meolus
meolus

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

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 01:58 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 by Thomas Breitkreuz