yo creo que validar una dirección de correo con expresiones regulares es de lo mas básico en este mundo...
y sinceramente un sencilla búsqueda podría resolverte la duda:
php regex email validation
con respecto a si es hotmail o no, eso lo haces mediante otra lógica usando un simple
strpos() antes de validar dicha variable...
PDTA: y gracias por ese ASCII que afortunadamente no entendí... ;)