|Posted by:||Joe Cocker (j…@cocker.com)|
|Date:||Thu, 31 Jul 2003|
After spending a couple of days trying to write a POP3
proxy server "manually" with a server and clients
components, I've discovered this wonderful IdMappedPOP3
component, which appears to be doing exactly what I
want, simply by dragging it to the form!
Sadly, either it is bugged or I'm failing to understand
how to use it. I'm trying to let it do its normal proxy
job (which it does great), but I want to intercept the
RETR command, and change its output before it reaches
the client (like an antivirus does when a virus is
detected in the mail).
I tried to use the CommandHandlers, which worked fine
with IdPOP3Server, but they seem to be ignored with
IdMappedPOP3. I also tried to listen to the
OnOutboundData event, this works but it doesn't tell me
which command was triggered, so I don't know if it's a
RETR or not. OnBeforeCommand and OnAfterCommand are also
completely ignored, and so is OnNoCommandHandler.
So basically my questions are:
1. How to detect which command was called by the user
in the OnOutboundData event? (or any other alternative)
2. How to change the output before it reaches the client?
(Would changing NetData be alright?)
I'm using Delphi 5 with Indy 9.0.11.
Thank you all for your time!