Error: This domain has email enabled, but none of the MX records point to it.

When I am loading ‘DNS Records’ section I am getting the following error message with red color:

Warning - errors were found in this domain’s DNS records : This domain has email enabled, but none of the MX records point to it. Either the MX records should be corrected, or the email feature disabled if mail is hosted externally.

Here is my BIND configuration:

$ttl 38400 mytestdomain.com. IN SOA mytestdomain.com. root.server1.mytestdomain.com. ( 1413838061 10800 3600 604800 38400 ) mytestdomain.com. IN NS ns1.mytestdomain.com. mytestdomain.com. IN NS ns2.mytestdomain.com.

mytestdomain.com. IN A 188.215.36.123
ns1.mytestdomain.com. IN A 188.215.36.123
ns2.mytestdomain.com. IN A 188.215.36.123
www.mytestdomain.com. IN A 188.215.36.123
ftp.mytestdomain.com. IN A 188.215.36.123
mail.mytestdomain.como. IN A 188.215.36.123

mytestdomain.com. IN MX 5 mail.mytestdomain.com.
mytestdomain.com. IN TXT “v=spf1 a mx a:mytestdomain.com ip4:188.215.36.123 ?all”

As you can see mailmytestdomain.com has an IP address and also has a MX record.

I am hosting on a VPS with OpenVZ, I never got such of error message in KVM or VMware. I need and advice how to correct this issue.

Thank you.

Howdy,

That error suggests you do have an MX record, but that it doesn’t appear to be pointing to your server.

What output do you receive if you run this command – this will show what IP addresses are active on your server:

/sbin/ifconfig

Here you go:

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:83 errors:0 dropped:0 overruns:0 frame:0
TX packets:83 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5780 (5.6 KiB) TX bytes:5780 (5.6 KiB)

venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:127.0.0.2 P-t-P:127.0.0.2 Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
RX packets:38973 errors:0 dropped:0 overruns:0 frame:0
TX packets:38530 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5209959 (4.9 MiB) TX bytes:14554113 (13.8 MiB)

venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:188.215.36.123 P-t-P:188.215.36.123 Bcast:188.215.36.123 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1

venet0:1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:188.215.36.142 P-t-P:188.215.36.142 Bcast:188.215.36.142 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1

Howdy,

Ah, it doesn’t appear that the IP address listed in your DNS settings points to an active IP address on your server.

Are you certain that’s your correct IP address?

If so, it’s possible that it still needs to be setup on your system.

-Eric

As you can see I got two IP’s:

188.215.36.123
188.215.36.142 (this one is alias)

In my opinion BIND configuration is just fine. Any actions pointed?

Solved. Two errors in this configuration created the problem Very strange because it was done by Virtualmin itself.

This is wrong
mytestdomain.com. IN MX 5 mail.mytestdomain.com.

This is correct
mail.mytestdomain.com. IN MX 5 mytestdomain.com.

It is important to note that this error may also be triggered due to the following fully valid/not so rare situation.

  1. You are hosting mail for the domain on your server
  2. Your MX records point to a spam filtering smtp service that receives all that domains email directly filters it and then directs it to your local mail server

Thank you very much! But… how is it possible, that automatic configuration (as you said) makes such a wrong line of parameters?

I am hosting mail for the domain on my server and I have enabled spam filtering by default in the creation of a virtual host. Does that explain why this error:

Warning - errors were found in this domain's DNS records : This domain has email enabled, but none of the MX records point to it. Either the MX records should be corrected, or the email feature disabled if mail is hosted externally.

crops up every time I create a virtual host?

As noted above, if I change:

mydomain.com. IN MX 5 mail.mydomain.com.

to:

mail.mydomain.com. IN MX 5 mydomain.com.

The error goes away.

Does this disable spam filtering as the cost of getting rid of the error?

If not, why is the error cropping up as the default for virtual server creation?

It is not affecting spam filtering. I will report it as a bug.

I know this is a bit old thread. However I had the same issue and sorted out it correctly. What we need to have is a correct A record for the email.yourcoman.com as below before MX record. So it will look like below.

mail.yourdomain.com. IN A xxx.xxx.xxx.xxx
yourdomain.com. IN MX 5 mail.yourdomain.com.


The first poster’s “ADDISON74” issue is, his A record is wrong.

mail.mytestdomain.como. IN A 188.215.36.123 <-- Notice the typo ‘o’ next to com

Should be,

mail.mytestdomain.com. IN A 188.215.36.123

Once this is corrected, I’m sure it will all work nicely. Good luck !

Hi Thisara,

Can you please contact me.

Thanks for your response thisara!

Freddy63, if you have questions or comments for thisara you may wish to ask those here :slight_smile:

-Eric

I’ve encountered an odd situation for a subdomain hosted on a virtualmin server where this same error is displayed.

This subdomain is hosted on a virtualmin server, and BIND on the server is the primary just for sub.domain.tld. As you can see, I’ve configured nameservers for the domain to delegate to this server’s BIND just for this hosted subdomain. This configuration works as expected.

Here’s my DNS zone for sub.domain.tld on the Virtualmin server:

$ttl 38400
sub.domain.tld.	IN	SOA	ns1.sub.domain.tld dnsadmin.domain.tld. (
			1577990093
			3M
			3600
			604800
			38400 )

sub.domain.tld.		IN	NS	ns1.sub.domain.tld.
sub.domain.tld.		IN	NS	ns2.otherdnsprovider.tld. ; the glue record

sub.domain.tld.		IN	A	10.10.0.1
ns1.sub.domain.tld.	IN	A	10.10.0.1
sub.domain.tld.		IN	MX	5 mail.sub.domain.tld.
mail.sub.domain.tld.	IN	A	10.10.0.1

localhost.sub.domain.tld.	IN	A	127.0.0.1
webmail.sub.domain.tld.	IN	A	10.10.0.1
admin.sub.domain.tld.	IN	A	10.10.0.1

sub.domain.tld.	IN	TXT	"v=spf1 a mx a:sub.domain.tld ip4:10.10.0.1 -all"

; https://www.zytrax.com/books/dns/ch9/delegate.html
; https://www.zytrax.com/books/dns/ch8/origin.html

@	IN	CAA	0 issuewild "letsencrypt.org"
@	IN	CAA	0 issuewild "sectigo.com"
@	IN	CAA	0 iodef "mailto:dnsadmin@domain.tld"

Originally I created the record manually in webmin, then later added the web site. I did not create the DNS zone when I set up the virtual site, instead leaving the existing minimal zonefile in place, then I executed the virtualmin enable-feature --domain sub.domain.tld --dns --associate command to allow Virtualmin to control the existing zone.

After that I added some of the other required records, as you can see above.

I’ve tried changing the order for the A and MX records, I’ve tried changing to relative records (mail.sub instead of a FQDN), no change. To me this looks like a correct and complete zone.

Is the Virtualmin record validation expecting an MX record to also be present for the ‘root’ domain.tld domain? If so that’ll never happen and isn’t correct; only the subdomain’s DNS records are hosted on the virtualmin server.

Please don’t make zombies. This is a five year old topic that’s be re-vivified multiple times! Start a new topic with your question.