A typical customer request is for email created from a Case to default to send to the Responsible Contact instead of its default behavior which is to send it to the Customer.
Since the Responsible Contact isn't even on the Case form by default and a customer could be a contact, MS chose this default behavior. However most of my installations to date have an Account as the Customer and one of many Contacts related to that Account as a Responsible Contact.
This is actually something very easy to change.
Please Note: This is an unsupported modification, and any patch could overwrite this.
C:\Program Files\Microsoft Dynamics CRM Server\CRMWeb\_static\CS\cases
It contains a function called locAddActTo that fills the To: activity party variables that are sent in the QueryString to the activity like the URL below.
What we care about are the partyid, partytype and partyname arguments.
As you can see this information is being pulled from the case form customer field crmForm.all.customerid.DataValue
So all we have to do is change this to crmForm.all.responsiblecontactid.DataValue
and change the sPartyName assignment.
sPartyName = crmForm.customerid.parentElement.previousSibling.innerText;
sPartyName = customerId.name;
You can just replace the above function with the one below if you would like.
After you have saved the change, run iisreset to flush the cache.