
Quoting Jason White (jason@jasonjgw.net):
These days, I simply have an MX record for my primary host; if it's unavailable, mail is queued by a secondary and I can just wait for delivery when the primary host returns, or run fetchmail -p etrn --fetchdomains <my-domain-name> <secondary-host> to hasten the process.
I stopped having backup MXes for two reasons: 1. People whom you rely upon to do backup MX for your domain proved to be flaky one time too often. (Back in Pleistocene days, it was common to serve as backup MX for each other as a courtesy.) Nothing quite as lovely as seeing a friend 55x-reject all of your domain's mail because he/she 'forgot' to preserve forwarding for your domain during his/her last rebuild. 2. Of course, that still leaves the options of backup MXing for yourself among multiple hosts of one's own, and of paying a commercial concern for the service. In both cases, one hitch is spammers who preferentially dump spam onto high-numbered MXes (against RFC intent) on the plausible theory of MX secondaries tending to have looser antispam. The secondary MX then works hard to pump the relayed spam onto the primary, and various forms of badness can ensue including the primary working to teergrube the secondaries. So, Plan B has been to just make arrangements to bring a replacement primary online within a day, if the production host fails. Replacement can go onto any IP; that's what DNS updates are for. (My opinions; yours for a small fee and waiver of reverse-engineering rights.)