Einzelnen Beitrag anzeigen

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, 16: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