Saturday, September 04, 2004

The problem with MX.

MX is short for "mail exchanger." A domain's DNS records list mail exchangers with preferences for each. To deliver mail for the domain, you look up the list of mail exchangers and attempt delivery to each of them in order of preference.

I have my own domain, and I have my own mail exchangers. My friends also have their own domains and their own mail exchangers, and for years we've "traded" this service. I'll hold your mail when your network goes down, we'd say, if you'll hold mine. Over the years I've been the mail exchanger for maybe a couple dozen domains besides my own.

Doing this was fun. We were friends, sharing with each other. In the old days, spam was just starting to be a problem, and the rules for accepting email were simple. The most defensive thing anyone did was refuse email from domains that did not exist.

That small difference in policy would cause minor problems. My mail server accepted email from anywhere. It was the MX for a domain that refused email from bogus addresses. When I'd accept one of these emails, it would stay in my queue until it expired because it could never be delivered to its destination.

Over time, policies changed further. Some people use RBLs, tarpits, or their own personal tricks. When the policies don't match those of the other mail exchangers for the same domain, it causes odd delivery problems. Either a low priority exchanger gets a queue full of undeliverable email, or it becomes a back door to email that would otherwise be blocked.

Now, the only way to have multiple mail exchangers for a domain is to have them all use the same policies. They all have to behave consistently or they interfere with each other.

I think it's unfortunate. I liked the old days.

No comments: