>> You should not use A records for canonicals, but CNAMEs
There no longer is such thing as CNAME one earth. Don't use CNAME, just multiple A records to do the same thing at all time.
CNAME lookup is unreliable and require more bandwith and resource. To lookup a CNAME, you must first lookup the A record of associates FQDN. That's a waste of resource.
When you are running your own mail server + authoratative DNS server yourself, using CNAME is strongly discouraged.