1. A system for annotation of electronic messages with contextual information comprising: a computer system comprising at least one processor, at least one tangible memory device, and at least one network interface; an interface to one or more contextual information sources that communicates over one or more of said at least one network interface; a processor that receives an electronic message on one or more of said at least one network interface, wherein said electronic message contains medical information related to a medical record or legal information related to a legal case; and, said processor selects information on other cases similar to said medical record or said legal case from an external database; wherein said electronic message comprises one or more message artifacts, and wherein said one or more message artifacts comprise: one or more senders, one or more sender addresses, one or more sender organizations, one or more recipients, one or more recipient addresses, one or more recipient organizations, a subject, a contents, one or more message body parts, a message thread, an event, a timestamp, a location, one or more links, an importance indicator, one or more media types, a set of message metadata, and one or more attachments; analyzes said one or more message artifacts of said electronic message; extracts n-grams appearing in said one or more message artifacts in said electronic message; forms a frequency distribution of said n-grams, generates a set of features associated with said one or more message artifacts from said frequency distribution of said n-grams; performs one or more queries against one or more external search engines, wherein said one or more queries are directed towards a medical database or a legal database and are based on said set of features using search terms, and wherein said search terms are derived from said set of features of said electronic message; selects one or more contextual information items from said one or more contextual information sources based on said set of features; calculates a relevance score for each of a set of available contextual information items based on said one or more features associated with said one or more message artifacts; ranks said set of available context information items based on said relevance score; selects a top-ranked subset of said set of available contextual information items; transforms said electronic message by adding said one or more contextual information items to create an annotated electronic message comprising annotating said electronic message with said top-ranked subset of said set of available contextual information items to provide said electronic message with relevant data to aid said at least one or more recipients to utilize said electronic message, understand a meaning of said electronic message or respond to said electronic message; wherein said relevance score is a similarity metric or a distance metric between said set of features associated with said one or more message artifacts and a corresponding set of features associated with or calculated from each of said available contextual information items; transmits said annotated electronic message on one or more of said at least one network interface to at least said one or more recipients; tracks whether and how said one or more recipients use said one or more contextual information items of said electronic message that is annotated as feedback; and, accepts input from said one or more recipients as direct user feedback that allows users to indicate or rate a usefulness or relevance of said one or more contextual information as feedback data to improve feature extraction and information selection.