You can use JavaScript and WebApi to retrieve the email address of the contact record and populate another address on the change event.
function contactOnChange()
{
var contact = Xrm.Page.getAttribute("new_contactid").getValue();
var contactId = contact[0].id.toString();
contactId = contactId .replace(/[{}]/g, "");
var req = new XMLHttpRequest();
req.open("GET", Xrm.Page.context.getClientUrl() + "/api/data/v8.2/contacts(" + contactId + ")?$select=emailaddress1", false);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function() {
if (this.readyState === 4) {
req.onreadystatechange = null;
if (this.status === 200) {
var result = JSON.parse(this.response);
var emailaddress1 = result["emailaddress1"];
Xrm.Page.getAttribute("new_emailaddress"].setValue(emailAddress1);
} else {
Xrm.Utility.alertDialog(this.statusText);
}
}
};
req.send();
}
NOTE: You should familiarize yourself with CRM Rest Builder by Jason Lattimer. Download it, install it in your environment, and it will help you with generating web api calls within your CRM environment,
Hope this helps. Good luck.