We have also needed this for some time (i.e. GWAVA).
Rather than running another instance of SMG/GWAVA/etc I simply set up port forwarding on our router/firewall to send all port 587 traffic to Port 25. I think this is a much lighter and easier to manage configuration.
Our external DNS MX record obviously points to our router/firewall. However, we also have our internal DNS MX record pointing to the router's external address so all submissions from mobile devices INSIDE our network can continue to get the same port translation benefit without requiring reconfiguration every time they "cross the boundary". (Smart Phones, Laptops, etc)