Thank you Chris. That's a great answer.
I resolved it by configuring our server to forward outgoing email to our ISP's SMTP server but I thought it had something to do with the non-public domain name. Your explanation of the requirements makes it all very clear.
Thanks again,
Daryl.
Main Topics
Browse All Topics





by: Chris-DentPosted on 2009-03-05 at 02:27:57ID: 23804052
Hey,
You should be using a Public name when sending mail out.
It appears you're using "cmsexchange.cms.local" which is very definitely not public.
Stupidly enough, the reason for the block is wrong. ".local" is not a reserved domain under RFC 2606, it is simply not a publicly registered TLD. Anyway, that's just for geeky interest on my part. You need to use a true public name when sending regardless of the accuracy of the error message.
These are the DNS requirements for hosting an SMTP Server, you will need 1, 3 and 4 set correctly to send mail out reliably. 5 is useful to help reduce spam (or abuse of your domain name), and 2 is included because it looks likely that you also receive mail using this server.
1. Host (A) record - Inbound and Outbound mail
If you need to accept inbound mail you should create a dedicated name for your SMTP server (if only because it makes things clear). The record must be created in your public DNS service and it should point to the public IP address your mail server will use for receiving (and / or sending) mail.
For example, any of these are perfectly adequate:
mail.yourdomain.com. IN A 1.2.3.4
smtp.yourdomain.com. IN A 1.2.3.4
2. Mail Exchanger (MX) record - Inbound mail
To accept inbound mail you should create an MX Record for your domain that points to the record created above. MX Records must point to a Host (A) record to be RFC complaint.
MX Records are written in this form:
<email-domain> IN MX <priority> <server>
For example, this MX record will accept mail bound for <anyrecipient>@yourdomain.co
yourdomain.com. IN MX 10 mail.yourdomain.com.
3. Pointer (PTR) record - Outbound mail
The reverse lookup zone maps IP Addresses back to names using Pointer (PTR) records. This forms the basis of a simple test to see if your SMTP server looks official rather than a virus / malware ridden machine sending spam.
If your server is sending out mail to hosts on the internet (that is, not relaying through a third-party service) you must configure a PTR record for your server. If you do not you will find mail sent from your server is rejected by certain recipients.
Addition of the PTR record must, in general, be requested via your ISP; those responsible for providing the internet connection your mail server uses. The exception to this is where responsibility for the Reverse Lookup Zone has been delegated to you.
The PTR record for mail.yourdomain.com running on the public IP 1.2.3.4 would look like this:
4.3.2.1.in-addr.arpa. IN PTR mail.yourdomain.com.
Many ISPs will understand a request for a Reverse Lookup Record for 1.2.3.4 to mail.yourdomain.com. That is, you do not necessarily need to know the syntax above.
4. SMTP service name - Outbound mail
Again, if the server is sending out mail it must use a public name. Failure to do so will result in rejected mail because of the simple tests above.
The name used should have a Host (A) record and a Pointer (PTR) record configured.
For Exchange 2007 the name is set in the Properties for the Send Connector. It is possible to set the name for the Receive Connector as well however this will have no impact on mail delivery. It can be considered good practice to set a public name on the Receive Connector for the sake of consistency.
For Exchange 2003 the name is set in the Properties for the Virtual SMTP Server (Delivery, Advanced, Server FQDN).
5. (Optional) Sender Policy Framework (SPF / TXT) record - Outbound mail
The Sender Policy Framework allows you to state explicitly which servers can send mail as your domain name.
While this is not universally used it will help reduce abuse of your domain name by third-parties and also reduce the number of non-delivery reports returned to your system for mail you didn't send in the first place.
Wizards exist for this record here:
http://www.openspf.org/
http://www.microsoft.com/m
The record would be added as a TXT record to your public domain. It is only checked by systems receiving mail from you.
HTH
Chris