Al parecer estás trabajando sobre windows y no tienes un servidor de correo instalado, entonces puedes establecer un servidor externo para el envío de mensajes modificando el parámetro SMTP del php.ini de la siguiente manera:
ini_set('SMTP','servidor_smtp'); donde
'servidor_smtp' pede ser la url o el ip de algún servidor SMTP.
Yo utilizo esta función para establecer el servidor para el envío de mensajes
Código PHP:
function TestSMTP(&$error){
$SMTP_servers=array('SMTP1'=>'mx1.hotmail.com','SMTP2'=>'mx2.hotmail.com','SMTP3'=>'smtp.gmail.com','SMTP4'=>'smtp.mail.yahoo.com','SMTP5'=>'mail.bellsouth.net');
foreach($SMTP_servers as $SMTP_server){
$cp = fsockopen ($SMTP_server, 25, $errno, $errorstr, 1);
if($cp){
ini_set('SMTP',$SMTP_server);
return true;
}
}
$error=$errorstr;
return false;
}
lo que hace es comprobar si algún servidor smtp responde y activarlo para poder enviar mensajes; luego debes liberar el parámetro con la instrucción:
ini_restore('SMTP');
haz la prueba y nos comentas.