Does an SMTP server have to have a public IP?

We have an SMTP server setup on an internal IP (10.x.x.x) that will send email to our customers. Since the server is inaccessible to DNS lookups from the outside, will this cause issues for sending and/or NDR's? I also told them to set up and SPF record for the domain, but since the server is not public, I doubt it would do any good.

Thanks.


If the server has no way of contacting the outside world, then yes this will be a major problem. If you're using NAT, then the server will appear to be connecting from the NAT's external IP.

If you do not have forward and reverse DNS configured properly then many servers will not accept e-mail from your server. If you're server announces itself as mail.example.com then DNS must resolve to the NAT's IP address. Also, the IP's reverse pointer must point to mail.example.com (eg, if your external IP is 192.2.0.5 then 5.0.2.192.IN-ADDR.ARPA must be a PTR to mail.example.com).

SPF records match DNS Host names usually (though you can include IPs, it's not a best practice). SPF records have to be somewhat carefully crafted or else they'll work against you; do take a bit of care in setting one up and it will greatly reduce the number of your outgoing e-mails that end up in people's Junk bins.