The syntax should be fine, just ensure that you have a A-record for mx in your template then as well.
your spf-record looks fine. Is there any reason for two mx-records? spf doesn´t "check" if a dns-record contains "mx". you only need a valiad MX-record (and therefor an A-record for the MX-Record).
I was just going by your post, so i added two records an mx: (mx domain.com mx.domain.com) and an A record to match it like you said: (A mx.doamin.com 10.100.100.100) both have a mx in the url, should i remove these or something?
The url (hostname) is never checked with spf. Just create a MX-record in the dns (mx.domain.com or something.domain.com) and a A-Record for mx.domain.com or something.domain.com. Your setup looks fine. I just asked, why you use TWO mx-records with only one IP.
your right, since an MX record already exists for mail, i have just made an A record based off that MX, mail.domain.com and set it in the template and removed the mx.domian.com etc. thats ok right?