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?!