You may be hitting a firewall, or the SMTP connection may be timing out because it's not getting any data. Here's a way to send a test email via telnet.
Open a command prompt and type "TELNET" and hit enter.
In the telnet prompt type "SET LOCALECHO" and hit enter.
You should get a response saying that local echo has been turned on. This will be necessary for you to be able to see what you type.
Now in the telnet prompt type "OPEN xxx.xxx.xxx.xxx 25" and hit enter. (where the x's represent your external email server IP address, the IP address that is referenced in your MX record.
You should now be connected to the mail server.
Type "HELO hostname.com" and hit enter.
The server should respond with an identification string.
Then type "MAIL FROM:you@hostname.com" and hit enter.
The server should respond with a string that indicates OK.
Then type "RCPT TO:xxx@xxx.com" and hit enter. (where the x's represent your internal email address)
The server should respond with a string that indicates OK.
Type "DATA" and hit enter.
The server should respond with a string that indicates OK.
Type in some random text or a test message or something. This will be the body of the message. Then when you are done putting in your test message, hit enter, then the period key, then enter again. A "." on a blank line is used to signify the end of message. You should get a message indicating that the email was sent.
Type "QUIT" then hit enter to terminate the connection.
Keep in mind that this isn't a text editor, so the backspace and delete keys won't actually backspace or delete. You need to be careful when you type to make sure that there are no typos.
If you get a breakdown at any point along the way you should be able to identify where the problem lies.
________________________________________
CompTIA A+, Network+, Server+, Security+
MCTS:Windows 7
MCTS:Hyper-V
MCTS:System Center Virtual Machine Manager
MCSE:Security 2003
MCITP:Enterprise Administrator