AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy 10 SMTPServer und AuthMode

Indy 10 SMTPServer und AuthMode

Ein Thema von Real Thunder · begonnen am 15. Jul 2018 · letzter Beitrag vom 16. Jul 2018
Antwort Antwort
Real Thunder

Registriert seit: 15. Jul 2018
7 Beiträge
 
#1

Indy 10 SMTPServer und AuthMode

  Alt 15. Jul 2018, 19:55
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 ?
Und wenn ja, wie erreiche ich es jetzt dass sich ein E-Mail Client anmelden muss ?
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
913 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
Real Thunder

Registriert seit: 15. Jul 2018
7 Beiträge
 
#3

AW: Indy 10 SMTPServer und AuthMode

  Alt 16. Jul 2018, 18:21
Das bringt mich schon ein bisschen weiter...
Und schon merkt man dass man eigentlich weniger weiß.

Okay... Authmode ist wech.. so weit habe ich es verstanden.

Noch steige ich nicht dahinter wo
Code:
 if TIdSMTPServerContext(AContext).HELO then
   begin
     if not TIdSMTPServerContext(AContext).LoggedIn then
     begin
       AContext.Connection.IOHandler.Writeln('553 bla'); // wahlweise auch 535 <-- Macht glaube ich mehr sinn (ausser bei Relaying)
       Exit;
     end;
rein muss.. aber ich "probiere mal rum" in aller Hoffnung dass es dann klick macht

EDIT:
Für alle mit Ähnlich beschränktem Verständnis:
Okay.. ich bin das Ganze falsch angegangen... Falsche Denkweise gehabt.
Der Server forciert ja keinen Auth, sondern kann bestimmte Aktionen negativ quittieren wenn der Benutzer sich nicht authentifiziert hat.

Das Sinnigste für "Relay nur bei authentifizierten Benutzern zu erlauben" ist beim Event "onRcptTo"

Geändert von Real Thunder (17. Jul 2018 um 12:56 Uhr) Grund: Nachtrag hinzugefügt
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf