nach Jahren mal wieder zurück in dieses Forum.
Ich habe ein Problem mit den
Indy SMTP Server
und zwar wird das Event UserLogin nicht gefeuert, was ja auch logisch ist wenn der Client kein AUTH sendet.
Nach ein wenig googeln wurde mir bestätigt dass
Code:
SMTPServer.Authmode:=true
gesetzt werden muss um ein Auth zu forcieren.
Aber aus irgendeinem Grund kennt er die Eigenschaft nicht.
Kann es sein dass dieses aus der Indy10
SMTP Server entfernt wurde ?
Ja.
Und wenn ja, wie erreiche ich es jetzt dass sich ein E-Mail Client anmelden muss ?
Einfach mal kurz den Quelltext von
Indy 9 durchlesen, dann siehst du wie es funktioniert. Nun siehst du noch, dass diverse Klassen geändert wurden: TIdCommand heißt jetzt TIdContext und dessen Erbe TIdSMTPServerContext hat jetzt das, was da noch im Feld
TIdCommand.Thread as TIdSMPTServerThread
war.
Also muss deine Ereignisbehandlungsroutine so aussehen:
Delphi-Quellcode:
procedure TuWas(AContext: TIdContext);
begin
if TIdSMTPServerContext(AContext).HELO then
begin
if not TIdSMTPServerContext(AContext).LoggedIn then
begin
AContext.Connection.IOHandler.Writeln('553 bla'); // wahlweise auch 535
Exit;
end;
// usw.
end;