You can easily transfer a domain with no down time by performing the steps required for the move in the right order and waiting the required amount of time between the steps. The one thing that following those steps doesn't take into account are the emails that you might receive to email accounts on that domain while the domain move is taking place.
The problem here is that during the time that the change to which hosting the domain name points to is being updated on the various domain name servers, you will have some emails that will be directed to the old hosting account and some directed to the new hosting account depending on whether the servers looked uo to get the delivery address have been updated yet or not. There are a couple of possible solutions to this.
The messy solution is to access your emails on the old hosting via web mail while the change is in progress while continuing to access those which go to the new hosting the regular way. To be able to set this up you will need to place entries in your hosts file that will allow you to access both hosting accounts using specific names (eg. with www. on the front for one hosting account and without for the other). That will mean that you will not be dependent on when the particular domain name server that you use is updated. You would then update your email program to download your emails from the new hosting and configure webmail on the old hosting to allow you to access the emails that still end up there. I am not going to go into detail on how to set this up as this is definitely not the best way of solving this problem.
The simplest way of resolving this is to make use of an email account that is not on the domain being moved. The existance of free webmail services such as gmail mean that everyone can easily get an email address to use for this purpose. You then configure the old hosting account to redirect any emails it receives to that separae email account. Any emails that go to the old hosting will then be directed to the easy to access webmail at that separate email address while any emails that go to the new hosting will end up in your regular email account which you recreated on the new hosting. After the domain is properly redirected for everyone you can turn off the old hosting and forward all the emails from the separate email account back to the address they were originally sent to so that they get to your account on the new hosting.
If you need all your emails in the same place during the move then set up the address on both the old and new hosting to point to that separate email address and deal with all your emails there during the move. Alternatively if that separate address has pop or imap access you can download all the emails from both email accounts into the same email program anyway and so moving emails between accounts will be as simple as drag and drop.
The difficulty comes when you have dozens or even thousands of email accounts on the domain being moved. If that is the case then you will probably want to keep the move as transparent as possible to all the people who those email accounts belong to. Where that is the case a more advanced solution involving software to synchronise email accounts on separate servers would be appropriate.
This article written by Stephen Chapman, Felgall Pty Ltd.