What you need are:
Thunderbird 2 (source), download and install it, if you don't have it already;
Webmail Thunderbird extensions downloaded and installed on Thunderbird, webmail extension is requred, other email provider specific extensions are to be installed as needed. The setup is pretty straightforward, one trick for Yahoo mail is that, after messing with different yahoo mail sites and configurations, to go to yahoo email interface and use "All New Mail" option, and use "Beta Production Site" for email retrieval.
A Gmail account of course;
- First set up Gmail using IMAP on Thunderbird (instructions here);
- With needed webmail components installed, configure all the webmail components for your email account from different providers ThunderBird -> Tools -> Add-Ons. Also, set up email accounts respectively in Thunderbird -> Tools -> Account Settings -> Add Account, then follow the instruction from Thunderbird. I have hotmail, and serveral yahoo accounts, aol and other work as well.
- (Optional:) Add email accounts in Gmail so you can send email using a specific email account in Gmail: at Gamil user interface -> Settings -> Accounts -> Add another email address you own and follow the instructions;
- The default location to collection should be the "Local Folder", if not, go to Tools -> Account Settings, under "Server Settings" for each email account, there is a "Advanced" button, click on it and select "Global Inbox (Local Folders Account)";
- Set up the Message Filter (Tools -> Message Filter) for the "Local Folders" to "Move all mails from Local Folder to your Gmail Inbox folder";
and that's it! This is really nice for those yahoo email account owners, 'cause without paying for Yahoo Premium, POP3 is not enabled. There are web service pull email headers but not the full message body without going to Yahoo email site.
If you know a better way of doing this, please let me know in the comments.