First, you should scrub real data out of your development environment. Also be aware that there are a lot of variables and options here.
On the Linux development server, I would first prevent the mail from sending out by either filtering the traffic or stopping the mail daemon. To stop the traffic, this would work in most modern environments:
iptables -A OUTPUT -p tcp --dport 25 -j DROP
My development network cannot connect externally to this and most other ports already, as it is a default drop policy and I do not allow exceptions. I typically dedicate a relay smtp to each subnet, where I can enforce additional relay policies there. Development servers aren't allowed to relay through this host either.
Later, you may have to clear the mail out of the mail queue before restarting the daemon or removing the rule depending on your approach.
On Windows, typically you do not have a local mail server running. Go to the source and prevent it from working or point to the Linux server that's already dropping the e-Mail.
If you are sharing the same smtp relay host between the servers, you could stop mail relay from those servers. If they are sharing the same gateway, you could drop the traffic there.
If you want to test application functionality, you could create a test e-Mail account local to the server and have the e-Mail delivered there or view the outgoing e-Mail logs. That's what I enforce in our development environment. In my case, development can only e-Mail local user accounts on the server specific, period. No relaying or delivery to local mail servers. Anything more introduces the potential for error and it's very likely to occur.
If you still insist on rerouting all outgoing mail, the solution is going to be dependent upon your MTA.