1. A computer-implemented method comprising: receiving, at a proxy server, a message from a message server in response to receiving a request for the message from a client device: identifying, at the proxy server, constituent data contained in the message; accessing, at the proxy server, supplemental information associated with the message based on the constituent data, by connecting with a supplemental information server; before, communicating the message to the client device, automatically modifying, in response to identifying the constituent data, using one or more processors of the proxy server, the message to include at least one of a portion of the supplemental information or a reference to the supplemental information; and communicating, from the proxy server, the modified message to the client device; further comprising: determining a device type associated with the client device; determining capabilities of the client device based on the device type; and identifying message enhancements capable of being processed by the client device based on the capabilities of the client device.