Вы забыли разделители регулярных выражений (/
- популярный разделитель). Вам также следует использовать подшаблон для сопоставления только адреса, а не <>
:
preg_match('/<(.*?)>/', 'sadfas<email@email.com>', $email);
echo $email[1];
В качестве альтернативы, вы можете посмотреть в будущее и оглянуться назад, чтобы избежать использования подшаблона:
preg_match('/(?<=<).*?(?=>)/', 'sadfas<email@email.com>', $email);
echo $email[0];