The Multiple Email module allows users to register additional e-mails for their user accounts. Only one e-mail address is considered to be the "primary" email address, and will continue to behave as normal. Non-primary accounts are mostly functionally meaningless, except that during user registration any e-mail address registered to a user cannot be used to create a new account.
Users may select any confirmed e-mail address to become their primary e-mail address. This means that the user account edit page's email address field will not change the user's e-mail address. The default settings for the module will actually disable the e-mail address field on the user account edit page.
Once the module is installed, administration settings are available under Site Configuration -> Multiple E-mail Settings. The configuration options are rather straight-forward at this point and are documented in the field descriptions.
The module will create a menu item in the User Edit page called 'E-mail Addresses' that links to the user's e-mail management page.
Upon adding a new address, an email will be sent to that address with a link to confirm it. The user must be logged in to confirm the address. Unconfirmed e-mail addresses will expire after a configurable number of days.
Drupal 7: The D7 version of this module is undergoing heavy development. Do not assume there will be any upgrade path between -dev releases. There WILL be an upgrade path from D6 to D7 once the module has a stable release.
(not an April Fools joke)
Okay, I warned you. I have completely reconfigured the 7.x-1.x branch. It is now a more-or-less straight coder_upgrade of 6.x-1.x (plus bug fixes). If you installed 7.x-1.x before today, I'm sorry. You'll need to completely remove any remanence of it manually and re-install it again. The D6->D7 upgrade path, on the other hand, is now almost a non-issue, because the schema is almost identical. If you want to test it, file an issue and patches are encouraged:
#1511866: Upgrade path from D6->D7
Otherwise, all tests now pass, and this module should be pretty much set.