No MX records?! Zone file for Shopify vs. hosted email

dns-zoneemail-servermx-record

One of my hosting clients has a website: www.vincedevito.ca.

Some time ago, he decided to use Shopify as his primary website, but I still host his email.

Therefore, I set up a DNS Zone with GoDaddy.

; SOA Record
VINCEDEVITO.CA. 3600    IN  SOA ns77.domaincontrol.com. dns.jomax.net (
                2015112604
                28800
                7200
                604800
                600
                )

; A Records
@       600     IN  A   23.227.38.32
mail    3600    IN  A   71.19.154.96
webmail 3600    IN  A   71.19.154.96

; CNAME Records
ftp 3600    IN  CNAME   @
www 3600    IN  CNAME   vince-devito-shoes.myshopify.com

; MX Records
mail    3600    IN  MX  10  mail.vincedevito.ca

And here is the the Zone file on my server

$TTL    86400

@   IN  SOA ns.vincedevito.ca. foo.gmail.com. (
            1448609688  ; Serial
            10800   ; Refresh
            3600    ; Retry
            604800  ; Expire
            10800 ) ; Minimum

vincedevito.ca.              IN NS   ns.vincedevito.ca.
ns1.vincedevito.ca.          IN NS   vincedevito.ca.
ns2.vincedevito.ca.          IN NS   vincedevito.ca.
ns.vincedevito.ca.           IN A    71.19.154.96
vincedevito.ca.              IN A    71.19.154.96
webmail.vincedevito.ca.      IN A    71.19.154.96
mail.vincedevito.ca.         IN A    71.19.154.96
ipv4.vincedevito.ca.         IN A    71.19.154.96
ns1.vincedevito.ca.          IN A    71.19.154.96
ns2.vincedevito.ca.          IN A    71.19.154.96
ftp.vincedevito.ca.          IN CNAME    vincedevito.ca.
*.webmail.vincedevito.ca.    IN CNAME    vincedevito.ca.
www.vincedevito.ca.          IN CNAME    vincedevito.ca.
lists.vincedevito.ca.        IN CNAME    vincedevito.ca.
store.vincedevito.ca.        IN CNAME    vince-devito-shoes.myshopify.com.
vincedevito.ca.              IN MX       10 mail.vincedevito.ca.
vincedevito.ca.              IN TXT   "v=spf1 +a +mx -all"
shop.vincedevito.ca.         IN NS    ns.shop.vincedevito.ca.
ns.shop.vincedevito.ca.      IN A     71.19.154.96
shop.vincedevito.ca.         IN NS    ns1.rede.ca.
shop.vincedevito.ca.         IN NS    ns2.rede.ca.

All http traffic is now successfully directed to his Shopify site.

Email is another story. If I try and send him a test message from my Gmail account, I get this

Delivery to the following recipient has been delayed:
foo@vincedevito.ca
Message will be retried for 2 more day(s)
Technical details of temporary failure:
DNS Error: MX lookup of mydomain.com returned error DNS server returned general failure

The same goes for any other external email service… messages never hit my server.

But If I send an email from another account on the same server, the email is delivered immediately. (I have other reasons to conclude that this is strickly a DNS issue… the email service itself is working perfectly).

No MX records?!

# dig vincedevito.ca MX
;vincedevito.ca.               IN      MX

IntoDNS certainly sees that there is a problem:

Oh well, I did not detect any MX records so you probably don't have any and if you know you should have then they may be missing at your nameservers!

UltraTools thinks so as well

Sorry, there was a problem.
No MX record were found for the domain/email vince@vincedevito.ca.

In fact, there is international consensus that something is fubar'd

https://www.whatsmydns.net/#MX/vincedevito.ca

I have gone over my steps a dozen times and I've talked to GoDaddy tech support twice (the second guy actually tried to help). Can anyone see some issue with my Zone settings?! I sure would appreciate some help!

Best Answer

Your MX record on GoDaddy is wrong. You have the MX record set for mail.vincedevito.ca when it should be set for vincedevito.ca.

Go back to the DNS manager, edit your MX record, and set the host to '@' (without the quotes)

Godaddy's DNS page isn't super helpful. I makes 'host' a required field without hinting that you should set it to '@' if you just want to use the root domain. It should be an optional field which defaults to '@' if left blank.

Edit: I wanted to include some extra information because of confusing field names in godaddy DNS.

Your current MX record is

; MX Records
mail    3600    IN  MX  10  mail.vincedevito.ca

You want it to read as follows:

; MX Records
@    3600    IN  MX  10  mail.vincedevito.ca

The field you use in Godaddy's DNS manager is labeled 'host'. The field where you set 'mail.vincedevito.ca' is labeled 'points to'.