Por otro lado, el que la función mail() no haya sido desactivada en el servidor no asegura que los correos llegarán a sus destinatarios. La función mail() entrega el mensaje a enviar al servidor SMTP, y es éste último el que se encarga de enviar el mensaje propiamente dicho. Por lo tanto, el servidor debe tener un servidor SMTP instalado para que la función mail() funcione "correctamente" y de los resultados esperados.
La mayoría de hostings gratuitos, pese a que no tienen deshabilitada la función mail(), no ofrecen un servidor SMTP (para evitar el spam desde sus servidores)
Saludos,