restrict user from certain role to change their email
Another way is programmically in your custom module

function mymodule_form_alter(&amp;$form,$form_state,$form_id) {
   global $user;
    if ($form_id == "user_profile_form") {
       if(in_array('your role',$user-&gt;roles) &amp;&amp; isset($form['account'])) {
           $form['account']['mail']['#disabled']=TRUE;
          }
      }
 }