AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IdSMTPServer / mail from abweisen mit custom message
Thema durchsuchen
Ansicht
Themen-Optionen

IdSMTPServer / mail from abweisen mit custom message

Ein Thema von christophspaeth · begonnen am 4. Mai 2011 · letzter Beitrag vom 6. Mai 2011
Antwort Antwort
christophspaeth

Registriert seit: 7. Mär 2008
73 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

IdSMTPServer / mail from abweisen mit custom message

  Alt 4. Mai 2011, 17:25
Hallo,

ich bin gerade dabei ein Projekt das einen Indy-Basierten SMTP-Server enhtält von einer Uralt-Indy-Version (10.0 soweit ich das erkennen kann) auf aktuell 10.5.8 (rev. 4631) upzudaten.
Dabei haben sich auch die Schnittstellen zu den Eventhandlern geändert.

Ich muss beim Abweisen von Mail From unterschiedliche Meldungen bereitstellen (z.B. sind bestimmte Absender in bestimmten Zuständen des Systems bzw. zu bestimmten Zeiten nicht erlaubt).

In der alten Version hatte man im Eventhandler einen TIdCommand zur Verfügung und es war so gelöst:
Delphi-Quellcode:
if Condition(...) then
begin
  ASender.PerformReply := true;
  ASender.CommandHandler.ReplyExceptionCode := 550;
  raise Exception.Create(LocalizeMessage(REJECT_REASON_1));
end
else if OtherCondition(...) then
begin
  ASender.PerformReply := true;
  ASender.CommandHandler.ReplyExceptionCode := 550;
  raise Exception.Create(LocalizeMessage(REJECT_REASON_2));
end;
In der neuen Version habe ich einen TIdSMTPServerContext und var VAction : TIdMailFromReply zur Verfügung, habe aber nichts gefunden, wie ich über
VAction := mReject; die Statusmeldung "550 Absender@myDomain.local Sender Not Permitted" beeinflussen kann und wenn ich den Text wie bisher als Exception raise wird als Fehler 451 gesetzt, was ja einen temporären Fehler darstellt und bei meinem Exchange nicht zu einer Rückmeldung an die sendende Mailbox führt.

Gibt es da eine einfache Möglichkeit meine Wünsche auch in der neuen Version umzusetzen? Gibt es einen anderen Weg oder habe ich vielleicht nur etwas übersehen?

Danke
Chris
Christoph Späth
  Mit Zitat antworten Zitat
christophspaeth

Registriert seit: 7. Mär 2008
73 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: IdSMTPServer / mail from abweisen mit custom message

  Alt 6. Mai 2011, 13:28
Hallo,

ich hatte dann auch im Indy-Forumgepostet und dort auch eine Lösung erhalten:

Man kann sich über TIdSmtpServer.CommandHandlers den Handler für MAIL raussuchen und dort dann (für den ganzen Server) die ExceptionReply ändern.

Delphi-Quellcode:
  for I := 0 to FSmtpSrv.CommandHandlers.Count - 1 do
  begin
    LCmd := FSmtpSrv.CommandHandlers.Items[I];
    if AnsiSameText (LCmd.Command, 'MAIL') then
    begin
      LCmd.ExceptionReply.NumericCode := 550;
      break;
    end;
  end;
Chris
Christoph Späth
  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 04:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz