Are you sure you're querying your name server? What's in /etc/resolv.conf?
Also, since you didn't used CODE tags to post the zone file, I cannot understand there are any blank space(s) in the NS, MX lines. Also there are blank spaces in the various hostnames (like ns1. mydomain.com. dn. mydomain.com.), that should not exist. You can try the following:
Code:
$TTL 86400
$ORIGIN mydomain.com.
@ IN SOA ns1.mydomain.com. root.mydomain.com. (
2011072615 ; Don't forget to increase it serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS ns1.mydomain.com.
IN MX 5 dn.mydomain.com.
IN MX 10 relay.my_isp.net.
IN A 203.143.41.98
ns1 IN A 203.143.41.98
dn IN A 203.143.41.98
Reload and run
Code:
dig SOA mydomain.com @ns1.mydomain.com
dig MX mydomain.com @ns1.mydomain.com
From the first you should check if you're using the correct zone file
Regards