Только для фона, user_load_from_mail () код опирается на параметр $ condition, переданный в user_load_multiple () , который устарел в 8.
Вот мой пример кода, который, вероятно, будет в будущем в user_load_from_mail ().
<?php
function load_user_by_email( $email )
{
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'user')
->propertyCondition('mail', $email);
$result = $query->execute();
// not found?
if (!isset($result['user'])) return;
// found, keys are uids
$uids = array_keys($result['user']);
$account = user_load($uids[0]);
return $account;
}
Nb. Теоретически нет необходимости проверять возвращаемые значения 2+, поскольку drupal настаивает на том, что электронные письма уникальны.