I change e-mail providers every two or three years, which is long enough, given my advancing years, for me to forget some things about the optimum way to do it. I’m writing myself some notes for next time. I bet I’m not alone in making these kinds of changes, so I’m posting this to give anyone who cares a technique that works for me.
First off, let’s define exactly where this information applies. If you’re getting your e-mail strictly through a web browser, it doesn’t apply to you. If your e-mail address is inextricably bound to your e-mail provider – if it ends in gmail.com or yahoo.com or some such – it also doesn’t apply to you. If you’ve registered your own domain name and use an e-mail client like Outlook, Apple Mail, or Mozilla-Thunderbird, this is for you. I happen to use Outlook, but these instructions should work fairly well with other e-mail clients.
Here’s the challenge: to switch e-mail providers with (in order of priority) no lost messages, hardly any delayed deliveries, and few if any duplicate messages. Here’s why it’s a challenge. Changing email providers means you have to mess with DNS. Domain name servers convert user-friendly Internet addresses like yourname.com to Internet Protocol addresses like 10.10.45.123 (this one is not routable, I use it the same way that people use impossible telephone numbers like 555-1234). Unless you’re a DNS guru and are comfortable composing MX records, in which case you probably know everything in this post, when you make the switch, you’re going to go to the website of Network Solutions or wherever you registered your domain name and have them change where computers go to convert addresses ending in that domain name to IP addresses. Don’t worry if this is confusing; they’ll be more details later.
Once you change the DNS records, it takes up to 48 hours for those changes to propagate throughout the Internet. During that time, it’s a crapshoot whether messages sent to you will show up in your mailbox at your old e-mail provider, or the one that your new e-mail provider. If you enter addresses with your domain name in them into your e-mail client’s configuration panel, it’s also unknowable whether those addresses will be converted to the IP addresses of your old e-mail provider or those of your new e-mail provider, so you won’t know which provider is supplying the messages that you are reading.
So here’s the step-by-step procedure:
- First, find out the IP address of the server that you currently use to receive mail (probably a POP3 or IMAP server), and the IP address of the server that you currently use to send mail (almost certainly an SMTP server). How do you do this? The simplest way may be to ask your old e-mail hosting company. However, you may not want to do that. You’re leaving them for a reason, and that reason may include poor customer support. You can find out for yourself. Go into the configuration screen of your old e-mail client, and look for the address of one of your old servers – it’ll be something like mail.yourname.com, pop.yourname.com, or smtp.yourname.com. Open up a command line window and type in “nslookup mail.yourname.com”, or whatever address you looking for. nslookup will give you the IP address. Do that with the addresses of both the sending and receiving e-mail servers, and replace the user-friendly addresses in your configuration screen with the respective IP addresses. This means that as the DNS changes propagate, your e-mail client will still send and receive messages from your old e-mail provider.
- Next, find out the IP address of the server that you will use to receive mail (like before, probably a POP3 or IMAP server), and the IP address of the server that you will use to send mail (probably an SMTP server). You won’t be able to use nslookup for this, since the DNS records still point to your old server. You’ll have to look at the configuration information that your new e-mail provider gives you, or maybe you’ll have to call their tech support staff. If you can’t get the information from them, that’s a bad sign; you may want to rethink changing your e-mail service to them. While you’re at it, get the names of your new e-mail provider’s name servers. They’ll look something like ns1.youcantbeatourservicewithastick.net and ns2.youcantbeatourservicewithastick.net.
- Add a new account to your e-mail client with the information above, putting the appropriate IP addresses in the fields for POP3/IMAP server and SMTP server. Configure this new account to put the messages in the same mailbox as you old account. Make this the default account.
- Log in to your account at Network Solutions, GoDaddy, or wherever you registered your domain name. Navigate to a screen that says where your domain name “points to”. Click the button labeled “Change Where Domain Points” or something like that. You’ll see a screen with the names of your old email provider’s name servers, something like ns1.flybynighthosting.net and ns1.flybynighthosting.net. Enter the two new name servers, something like ns1.youcantbeatourservicewithastick.net and ns2.youcantbeatourservicewithastick.net. Click OK. In 48 hours, your new email hosting company will have control of the translation between user-friendly names and IP addresses.
- Wait 48 hours for the new DNS information to propagate. Receive email messages from both email providers.
- Fire up your e-mail client and hit send/receive to download any stray messages from both the old and new email servers. Replace the IP addresses of the POP3/IMAP and SMTP servers with the user-friendly names you got from your new e-mail provider. They might even be the same as your old user-friendly names, mail.yourname.com, pop.yourname.com, and/or smtp.yourname.com. Press the “Test” button to make sure everything is working.
- Delete your old email account in your email client.
- Congratulate yourself.