Just like Dovecot, Google Apps also support logging in to users' email account without resetting the passwords. Unfortunately, this feature is not available for Google Apps Standard-users (i.e. free), but is restricted to Google Apps for Business-users (and Education). The way Google resolved this was to add support for OAuth authentication to their IMAP server. Hence, to use this feature, you will need an OAuth key.
Generate an OAuth key
Start by logging into the administrative dashboard of your domain (https://www.google.com/a/yourdomain.com). Go to the tab named ‘Advanced tools.’ Next click on the link named ‘Manage OAuth domain key.’ On this screen you need to make sure that you select the following check-boxes:
Enable this consumer key
Allow access to all APIs
Press ‘save changes.’ You now need to provide us with the following pieces of information:
OAuth consumer key
OAuth consumer secret
Please note that if you are moving between two Google Apps-domains, we need this information from both domains.
Using your OAuth key(s) in YippieMove
Once you got your OAuth key(s) ready, you can start using them with YippieMove. Fist take a look at our Batch Migration help-page. Once you understand the workflow, downloading this custom CSV-file (a modified version of the one available on the regular batch page). Open up the CSV-file in a spreadsheet program like Apple Numbers, Open Office or Google Docs. Everything but Microsoft Excel should work fine, as Excel is known to break the CSV-files. In the file you'll find a number of fields. I've outlined the field, along with example values if one were to move from imap.example.com to Google Apps with OAuth-authentication:
src_username
The username of the source account.
src_password
The password for the source account.
src_xoauth_token_or_consumer_key
Leave blank.
src_xoauth_requestor_id
Leave blank.
src_host
imap.example.com
src_port
993
src_ssl
True
dst_username
The username for the source account.
dst_password
The consumer secret.
dst_xoauth_token_or_consumer_key
The consumer key.
dst_xoauth_requestor_id
The username (same as dst_username).
dst_host
imap.gmail.com
dst_port
993
dst_ssl
True
prefix
If you want to add a prefix to the folders. Eg. Enter 'foo' if you want the folder 'bar' to be named 'foo/bar' on the destination.
owner
Deprecated. Leave blank.
exclude
List folders you wish to ignore from the migration.
While that might seem overwhelming at first, it isn't that complicated. Also, if you are moving many accounts, it will surely save you a lot of time both while preparing for the migration and during the actual migration.