This basic question is super old and should have been answered.
The sending from email@example.com succeeding makes no difference unless you were sending it via your SMTP server without a smart host. That would confirm that port 25 communication is open and working for outbound traffic to other SMTP servers.
First you want to test your SMTP server internally with any Telnet client. Microsoft has instructions and you might need to install the telnet feature if using Windows CMD: https://technet.microsoft.com/en-us/library/aa995718(v=exchg.65).aspx
If you were able to send mail successfully, make sure your SMTP server is accepting traffic from any IP address. Sorry I don't have steps for that.
Then check the following:
- Is port 25 open to incoming traffic from other mail servers? Check
your network firewall and internal software firewall. This will need
to be open in order to receive mail to your SMTP server.
- Is port 25 traffic going to your SMTP server? If you have multiple computers receiving traffic using one external IP address,
make sure your port forwarding on the router is sending port 25
traffic to the correct internal IP address and port.
- Make sure your MX record for your domain is pointing to the correct internet IP address where your server lives.
Here is the chain if you like visuals:
Gmail -> Domain's DNS -> MX record IP address (your modem) -> Router Firewall -> SMTP IP address:25
Then I recommend testing with telnet once again but via an outside internet connection.