1. A method for filtering messages received by a user, comprising: determining, in a message classification module, a score for a received message by analyzing a plurality of portions of a body of the received message, wherein each portion in the plurality of portions is scored with a portion score; determining a user-defined authoritative status for the received message, wherein step (b) comprises: (i) determining whether an address associated with a sender of the received message matches an entry on a positive screening list, (ii) assigning a non-spam user-defined authoritative status for the received message if the address associated with the sender matches an entry on the positive screening list, (iii) storing the received message in a quarantine folder if the address associated with the sender does not match an entry on the positive screening list, (iv) receiving a filtering status indication for the received message, (v) assigning a non-spam user-defined authoritative status for the received message if the filtering status indication indicates user approval of the message, and (vi) assigning a spam user-defined authoritative status for the received message if the filtering status indication indicates user disapproval of the message; and automatically training the message classification module when the score is inconsistent with the user-defined authoritative status.