A method implemented at a proxy server , the method comprising: receiving an inbound message from a message server ; identifying constituent data contained in the inbound message, wherein the constituent data includes at least one of an identity of a sender of the message, an identity of at least one other recipient of the message, a geographic location or postal address, a phone number, an email address, an activity request, a URL (uniform resource locator), a name of a person, a name of a company, a language of the message, a unique message identifier, an indicator of importance or urgency, or an indicator of an unwanted message; accessing, from a supplemental information server , supplemental information which provides additional information related to the inbound message, and is based on the constituent data modifying the inbound message to include the supplemental information; communicating the modified inbound message to a client device ; receiving an outbound message from the client device ; searching the outbound message for any said supplemental information included by previous modification of an inbound message and removing, replacing or rewriting any said supplemental information, wherein the outbound message is generated by reply or forwarding of an inbound message, and the inbound message was previously modified by the proxy server to contain supplemental information; identifying and accessing further supplemental information associated with constituent data of the outbound message; modifying the outbound message to include the further supplemental information; and communicating the modified outbound message to the message server for distribution to a recipient. receiving an inbound message from a message server ; identifying constituent data contained in the inbound message, wherein the constituent data includes at least one of an identity of a sender of the message, an identity of at least one other recipient of the message, a geographic location or postal address, a phone number, an email address, an activity request, a URL (uniform resource locator), a name of a person, a name of a company, a language of the message, a unique message identifier, an indicator of importance or urgency, or an indicator of an unwanted message; accessing, from a supplemental information server , supplemental information which provides additional information related to the inbound message, and is based on the constituent data modifying the inbound message to include the supplemental information; communicating the modified inbound message to a client device ; receiving an outbound message from the client device ; searching the outbound message for any said supplemental information included by previous modification of an inbound message and removing, replacing or rewriting any said supplemental information, wherein the outbound message is generated by reply or forwarding of an inbound message, and the inbound message was previously modified by the proxy server to contain supplemental information; identifying and accessing further supplemental information associated with constituent data of the outbound message; modifying the outbound message to include the further supplemental information; and communicating the modified outbound message to the message server for distribution to a recipient. <EOS>