the time out error is due to the server not responding.
NMAP might say that the port is open, but that doesn't mean that there is a service behind that port. or indeed that putty can connect to SMTP services.
what exactly are you doing? and what are you connecting to?
lets go right back to basics:
lets assume you want to connect to the SMTP server that will service yahoo mail.
so you want to send a message to firstname.lastname@example.org
if you've looked up the A record for either yahoo.com or mail.yahoo.com you';re doing it wrong.
you need to use NSlookup to find out the mail exchange records so that you know where the SMTP server is:
Default Server: xxx.xxxx.net (blanked out because it's a company one)
> set type=MX
yahoo.com MX preference = 1, mail exchanger = mta5.am0.yahoodns.net
yahoo.com MX preference = 1, mail exchanger = mta6.am0.yahoodns.net
yahoo.com MX preference = 1, mail exchanger = mta7.am0.yahoodns.net
mta5.am0.yahoodns.net internet address = 126.96.36.199
mta5.am0.yahoodns.net internet address = 188.8.131.52
mta5.am0.yahoodns.net internet address = 184.108.40.206
mta5.am0.yahoodns.net internet address = 220.127.116.11
mta5.am0.yahoodns.net internet address = 18.104.22.168
mta5.am0.yahoodns.net internet address = 22.214.171.124
mta5.am0.yahoodns.net internet address = 126.96.36.199
mta5.am0.yahoodns.net internet address = 188.8.131.52
mta6.am0.yahoodns.net internet address = 184.108.40.206
mta6.am0.yahoodns.net internet address = 220.127.116.11
mta6.am0.yahoodns.net internet address = 18.104.22.168
mta6.am0.yahoodns.net internet address = 22.214.171.124
mta6.am0.yahoodns.net internet address = 126.96.36.199
mta6.am0.yahoodns.net internet address = 188.8.131.52
mta6.am0.yahoodns.net internet address = 184.108.40.206
mta6.am0.yahoodns.net internet address = 220.127.116.11
mta7.am0.yahoodns.net internet address = 18.104.22.168
mta7.am0.yahoodns.net internet address = 22.214.171.124
mta7.am0.yahoodns.net internet address = 126.96.36.199
mta7.am0.yahoodns.net internet address = 188.8.131.52
mta7.am0.yahoodns.net internet address = 184.108.40.206
mta7.am0.yahoodns.net internet address = 220.127.116.11
mta7.am0.yahoodns.net internet address = 18.104.22.168
mta7.am0.yahoodns.net internet address = 22.214.171.124
then you can connect to one of those addresses
C:\>telnet 126.96.36.199 25
C:\>telnet mta5.am0.yahoodns.net 25
Incidentally, connecting via putty does work I tested that also.
which leaves the scenario that either your personal firewall blocks connections on port 25 outbound, you have desktop software A/V network access control that blocks it because it thinks that you establishing a connection is malware trying to establish a connection or lastly some ISPs (BT residential for example) block some ports.
port 25 is regularly blocked on home broadbands by the ISP because there is really no good reason for the average home user to be running an SMTP server.
e.g your ISP is trying to keep the intertubes clear by blanket banning certain traffic (no this is not new, BT changed their TOS to say that they'd block port 25, (as well as SMB ports) about ten years ago. perhaps a bit longer. to stop the spread of spam/malware etc