I have a domain, flyh2.com.
I use a CNAME to forward www.flyh2.com to flyh2.elasticbeanstalk.com where my web site is hosted. This is the only way Amazon allows custom domain names. A records aren't allowed.
I'd like people to simply type http://flyh2.com (without the www) and still have visitors see my web site.
Originally I used CNAME to forward both the naked and the www records to my web site, but it seemed to cause problems.
Incoming mail was being returned to sender:
Fwd: Returned mail: see transcript for details
<[email protected]>... Deferred: Connection timed out with flyh2.elasticbeanstalk.com.
Message could not be delivered for 6 hours
Message will be deleted from queue
Seems that the CNAME on the naked domain was overriding the MX records.
Now I've changed the CNAME on the flyh2.com record to point to www.flyh2.com and in turn www.flyh2.com to CNAME to flyh2.elasticbeanstalk.com.
My MX records are set up correctly, but the CNAME on the naked domain seems to override them. Do I have to use an A record?
You cannot have a CNAME for the domain.
CNAMEs can only exist as single records and not combined with any other resource records. Since a domain always has a SOA and NS record, you cannot use a CNAME for the domain. This is specified in RFC 1034, section 3.6.2.
The reason that email specifically breaks is found in RFC 5321, section 5.1:
In other words - as long as your provider does not allowed A records, what you want cannot be done.
It doesn't sound like you know the correct definition of FQDN. It also doesn't sound like you know what a CNAME is for.
You will need to add in an MX record for your domain if you plan on sending mail there. Make sure that is added correctly and that your server is correctly configured to process mail.
The solution is buried in the comments and not explained well. Here is the full solution from Micheal Hampton: