cour...@lists.sourceforge.net wrote:
There is an external program that will be generating quite a
bit of email to this server. Some of that mail will be
delivered locally via a mail processing program and some of
it will be for relay elsewhere. The processing program will
resubmit some of the mail for delivery elsewhere.
We need to be able to run this for testing purposes without
any of the external mail being delivered.
I sounds to me like the real work should be done in the external program
that is generating the email.
Completely low-tech, I know, but why not change the delivery addresses of
all external boxes to something internal, or even just a Yahoo drop-box to
make sure it goes like you think it should? In some of my applications, up
top I set a DEBUG variable. When it is TRUE or 1 (depending on the
language), I do lots of funny things, like setting mailboxes to some of my
free webmail accounts, printing debugs, pausing where I need to, preventing
forking, etc. I find it extremely helpful when I need to test
applications...
Lots of languages can even choose includes based on this stuff, so you can
overload method names. I do this so when I'm debugging, authentication
requests just get approved where I don't have enough info to test pieces of
code because I am not privy to passwords, don't have access to the database,
or am too lazy to build a full testing environment. Probably not the best
coding technique, but in my experience, works really well in certain cases.
Other instances, I have to go the full 9 yards and build a lab environment
that mirrors the production systems...
Anyway, I hope these thoughts might help.