1. A computer implemented method, comprising: scanning, by a computer, a set of messages of a user to identify a plurality of addresses; identifying, by the computer, names of persons at the addresses to generate profiles for the persons; computing, by the computer, scores of the addresses to determine relevancy of the addresses to the user; in response to an incomplete input in an address field, identifying a set of persons in the profiles that match the incomplete input; sorting the set of persons based at least in part on the scores; presenting a first set of one or more suggestions to complete the incomplete input based on the set of persons; in response to the user selecting a suggestion from the first set of suggestions, replacing, by the computer, the incomplete input with an address corresponding to the suggestion selected by the user; obtaining a second set of suggestions from a message compose window; presenting the first and second sets of suggestions in a window; and preventing the message compose window from presenting the second set of suggestions in a separate window, the preventing comprising generating a keyboard hook to prevent keyboard input directed to the address input field from being passed onto a separate suggestion window.