Indeed it is, sorry I missed that..
Personally, the easiest way to fix this would be to modify the mx record/s so your mail server urls point to the correct address of the VPS. That is assuming you are currently using DNS to identify the local mail server, if you're not, IP changes are a good reason to...
Are routes properly configured?
You probably also need an rule to SNAT (static) or MASQUERADE (dynamic) your internet bound traffic back to the routers internet facing IP.
Ill share a couple of tricks I use when diagnosing iptables rules..
Generate some traffic that will match the rule you are trying to diagnose, with netcat, hping, etc.
You can "watch" the byte/packet counters while generating the traffic.
Code:
watch iptables -nvL INPUT
In some cases you can create logging rules that will match the traffic you are diagnosing rules for, can also give some useful information.
Code:
iptables -t nat -A PREROUTING -p tcp --dport 25 -j LOG --log-prefix "DROP: " --log-ip-options --log-tcp-options --log-level warn
Another is to use tcpdump on each host, to see where things are getting tripped up...
Just one other thought, is the firewall on the VPS configured to accept the traffic...