Simple Mail Transport Protocol (SMTP) is the method used to send messages through the Internet. Understanding SMTP helps to see what causes this situation.
To send mail via an SMTP server you will need a mail client (also referred to as a program or application). Mail clients include Microsoft’s Outlook, Outlook Express, Thunderbird or Apple Mail. The mail client communicates via SMTP protocol to send the message from your computer to the SMTP server. The SMTP server communicates with other SMTP servers to send your mail to the recipients’ mailbox.
There are two reasons why you are able to receive mail but not send any.
Authentication failed. You need to authenticate before you can relay mail. This means you will need to use either SMTP Authentication (if your mail client supports it) or POP before SMTP (where the mail client checks your mail before sending).
Spammers, who send millions of junk, unsolicited email every day are always on the lookout for insecure SMTP servers that will relay their junk mail. In order to prevent this practice it was recommended years ago that anyone using an SMTP server must be authenticated first. Since the SMTP protocol does not have an authentication system it must use an alternative protocol for authentication. Every SMTP server must have associated with it a POP3 server for this purpose.You may also try manually checking your mail prior to sending out email. If you are not using SMTP-Auth you must have checked your email within the 15 minutes prior to sending email so that the server can authenticate you as a valid user.
ISP is Blocking Port 25. If your ISP is blocking port 25, this will prevent you from using the standard SMTP port to send email. Some ISPs do this so that you are forced to use their email servers when sending email, as an attempt to control junk mail. Some ISPs that have been known to block port 25 are Comcast, Earthlink, and AT&T. A quick test and possible workaround is to try changing the SMTP port setting in your mail software to use port 1025 or 587, then try to send again.
If you are using a laptop or other portable device that may be used to connect to several networks using port 587 will relieve you of changing your email server settings for each location.