Einzelnen Beitrag anzeigen

Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.017 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Indy 10 SMTPServer und AuthMode

  Alt 16. Jul 2018, 17:19
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;
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat