If you don't run an Exchange server, you can use several methods to filter out unsolicited commercial email (UCE) at your mail client. Since I started filtering my email, I have received significantly less junk mail. Every email program handles filtering differently, but the following suggestions will get you started.
Many programs that junk emailers use for UCE place a bogus timestamp, such as -0700 (EDT) or -0600 (EST), in the Received header of the message. These time zones don't exist, so you can safely filter messages that list this information in the headers.
One UCE program puts the domain name ybecker.net or ybeckers.net in the Received header of messages it sends. No one owned the ybecker.net domain until recently, when the Forum for Responsible and Ethical Email (FREE) purchased it. FREE uses the domain only to educate Internet users about junk email, so you can safely filter messages that contain this domain name in the headers. You will also discover other common junk emailer domains to filter.
Junk emailers want you to think they're your friend, so they often address messages to email@example.com. The owners of public.com had to quit using the domain because of complaints. Thus, you can safely filter messages with firstname.lastname@example.org in the header. You might want to filter all messages from @public.com, and messages addressed to friend@.
To aggressively filter junk email, you can filter messages that aren't specifically addressed to you. Most junk emailers load hundreds of email addresses in the Bcc line of a message, so you can eliminate a lot of UCE if you filter messages that don't have your address in the To or Cc headers. You'll want to use this option carefully, because it also filters mailing lists, newsletters, and legitimate Bcc email.