Why cannot we send email through SMTP from a device behind NAT?
I have a computer which is behind a NAT router. If I try to initiate a SMTP connection from my computer to some destination, the connection times out. However if I use some replaying server like GMail, AOL etc for relaying the mail it works fine. I am not looking for vague answers relating to firewall settings and all that but specific one which relates to the functioning of the SMTP and Ident protocol. Hope someone has a clear and possibly detailed explanation for this behavior. Is this just to avoif relaying, if so how does this work. Adding more details to what I am trying to achieve: 1. Install IIS SMTP server on Windows XP PC 2. The PC is connected to the internet through a NAT through a DSL router. 3. I try to send mail through localhost (since it has a SMTP server running). 4. The server tries and then times out while sending a mail. Case 2. 1. Do this with a computer connected without a router directly to the internet (eg university LAN) This means that there is no NAT translation involved. 2. The above procedure works perfectly. Hope it makes more sense now! I used Wireshark to capture packets, and found out that there was no incoming transmission; only outgoing TCP syn packets to the SMTP server. The ISP ATT doesn't block access to SMTP servers so that is ruled out In fact on connecting without the router configured for NAT translation SMTP works fine. It seems that the SMTP server is trying to authenticate the sender somehow (not sure of the details, IDENT protocol?) but is failing because of NAT traversal since NAT cannot accept incoming connections on TCP 113 without forwarding. I am leaving this open if someone could shed more light on this (the exact authentication protocol SMTP servers go through (to avoid relaying?) Thanks for all the responses!
Public Comments
- Some ISP's block SMTP to other SMTP servers except their own. This is TCP port 25. Optimum Online blocks home user's from accessing let's say their office SMTP server unless you pay them extra. This is very lame of them and their excuse is that it helps minimize the amount of spam that may be sent over their network. I don't think it's a firewall issue since NAT doesn't block outbound, just inbound.
- Sorry but your question is poor. You can not access another ISP mail (smtp) server when you are on another ISP's network. You can recieve from any server to any network (pop). Just the facts of life there. You neglected to list the serving ISP and the smtp server you were looking for, what client program you are using, or anything else that could be construed as a supporting fact. Then you scream about "clear and detailed". How can I be clear and detailed when you have told me nothing? Get some info out here and cut the attitude and maybe some one will help you????? AAS Comp Networking
- You said that the server times out when sending email. Try installing a packet capture program like wireshark to see why it is failing. This way you can determine if the client is in fact connecting or if it is having some other problem like not resolving the host name of your server. Also check your server and client logs and try running the server and client in debug mode to see if that makes a difference. Make sure that you have access to the server from the client. Make sure that you can ping between the two computers. Like one of the previous answers said, often SMTP is blocked to your ISP if you aren't on their network. For more details about SMTP see: http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol or the RFCs 821 and 1123. The protocol itself is easy to debug since all of the control information is exchanged in ASCII and is easily readable.
Powered by Yahoo! Answers