Try running a traceroute, or check iptables/routers on all involved machines. Running tcpdump -i any port 25 might also help, run it on all involved machines along the way and see where the packet stops.
Aside from that, maybe stop using telnet? SSH does exist, is supported, and much more secure...