Based on your code, I think the problem may have been that you were checking a variable that was undefined.  You were checking `$db_email`, which in your function was an undefined value, so you'd be looking for an empty result.  You need to check the value passed to `email_exists()` (which would be the email being validated in the form). 

If the patterns applied in your pluggable `get_user_by()` function result in the equivalent of how you are obfuscating the emails, then you should get a correct match if the email exists.


	function email_exists( $email ) {
		// You had this as checking $db_email, which would have been
		// undefined. It should be checking for the value passed to
		// this function - $email.
		$user = get_user_by( 'email', $email );
		if ( $user ) {
			$user_id = $user->ID;
		} else {
			$user_id = false;
		}
		return apply_filters( 'email_exists', $user_id, $email );
	}