A day or two ago, I stayed at home. I have my notebook, a bunch of DVDs, a good speed Internet connection, pizza, and unlimited beer. Okay, not the beer, I’ve sworn off it. But what else do you need, right? The answer came as soon as I tried sending my first email. Connection failed. I did some sleuthing and concluded that for some bizarre reason, my ISP seems to be blocking SMTP. WTF! Anyway, rather than complaining and getting it solved by them (what’s the fun in that?) I searched for another solution.
Enter SSH tunneling. This technology allows you to forward most any network traffic through an SSH connection to your SSH server and on to the target server. You login to your SSH server, preferably one with unlimited access to the Internet. Then you can map local ports to be forwarded to your SSH server which will then act as an intermediary between you and your target server. Of course, although the communications between your computer and the SSH server will be pretty much secure, the communication between the SSH server and the target server may not be.
So how did this all work for me and my problem? I loaded up PuTTY and created a new session to my SSH server which is on an ISP who doesn’t block SMTP. Then under Connection->SSH->Tunnels, I added source port 25 and destination port mymailserver:25. I then connected and logged on to my SSH server. While connected, I reconfigured Thunderbird‘s outgoing email server to localhost and then pressed the send button. Voila! Mail sent! :)
Time to make that complaint.