Create a new group (something like Mods)...
Make your moderators part of this group...
Get the new group_id ( in this sample code I am using 8 as the group ID)
Edit the code to allow this group to see the email address while searching members...
Notes:
Not sure if ($user->data['group_id']) returns the default group ID, if so you may have to make this the default group for all moderators...
In: memberlist.php (it should already be part of this code assuming phpBB3, so the edit above may refer to IM?)
Find:
'S_EMAIL_SEARCH_ALLOWED'=> ($auth->acl_get('a_user')) ? true : false,
and change to:
'S_EMAIL_SEARCH_ALLOWED'=> ($auth->acl_get('a_user')) ? true : false || $user->data['group_id'] == 8,
To allow them to see email addresses in other areas you would need to modify the php code...
Probably something like find 'S_EMAIL_SEARCH_ALLOWED' ... and add to following code to the logic criteria...
|| $user->data['group_id'] == 8
Note also this edit may simply allow viewing of members email address, I don't see any code to search by email, so this would need to be added...
If the member has forgotten their username and wants to find out what it was, we might have to edit the 'Forgot My Password' code to allow email address in place of username. It is very common to allow a user to login in with either Username or Email these days...