Someone posted a feature of GMail that is very interesting, and it turns out, very useful. The tip boils down to this. Your Gmail username will accept email addressed to it, or to any version of it with +'sometext' at the end of it. (E.g. If your email address is firstname.lastname@example.org, it will accept email addressed to email@example.com.) That's it. That's the whole key. What makes it useful is that Gmail will allow you to filter email based on the full email address. So, in concept, you could do the following:
1. Use a different codeword (sometext in the example above) for each addressee or class of addressee that you'd like to give your email address. Let's say +closefriend for your closest buddies who would never sign you up for SPAM. And let's say +spam for people who will DEFINITELY sell your email address.
2. Now filter your email based on the distinctive email addresses you've handed out, tagging, deleting, forwarding and archiving it according to how much you care about it.
3. Never use the root address that you have on your gmail account. So, if any mail comes into firstname.lastname@example.org - you delete it. This prevents SPAMMERS from working around the filter by removing the +codeword on your email address. (Well, it doesn't prevent them from doing it, but it does make it pointless).
4. In the end, only the people you want to communicate with will be coming through in your email box. They'll be identified because the email they send you will contain the codeword you gave them. Use different code words when you sign up at various websites and you'll know which bastards have sold your email address off to someone else. Then you can stop doing business with them, send them emails with dirty looks, etc.
5. There is one more thing you need to do. In the Google interface, go to Settings and click on the Accounts tab. From here, you'll need to add the email addresses you're using, so that you can send mail as 'them'. This will enable you to hold ongoing conversations and still have the reply button work like it normally does. Once you add these other email addresses (e.g. email@example.com) to the interface, you can send mail as these users. You can also set one as your default 'from' address.