tengo entendido que en el localhost (wamperver, lamp, Xamp, app serv) no se puede enviar ni simular envio..
La clase PHPMailer si te permite enviar un email utilizando un server SMTP como tu email de gmail por ejemplo...
bajate la libreria PHPMailer, y cambia la ruta del include, tu usuario de gmail y tu clave y verifica si funciona, no es complicado como parece..
La funcion MAIL si enviara el mail siempre y cuando tengas un servidor que soporte el envio de mail
Código PHP:
<?php
//ahora el codigo que enviara el mail de vcerificaion
//Para el envio del mail, yo use la clase phpMailer :-D ...
//asi que te posteare codigo con esa clase ( io no uso la funcion mail() )
require("../phpMailer/class.phpmailer.php"); //Busca este archivo en el google. Es el archivo d la clase phpmailer, que viene con otro llamado class.smtp.php
$mail = new PHPMailer();
$mail->PluginDir = "phpMailer/"; //Aqui el doirectorio dnd se encuentra el archivo class.smtp.php
$mail->Mailer = "smtp";
$mail->IsSMTP();
$mail->Host = 'ssl://smtp.gmail.com';
$mail->Port = 465;
$mail->SMTPAuth = true; //Supongo que puede ir false si usas localhost
$mail->Username = "usuarioDeGmailSinArroba"; //Usuario del servidor smtp. Supongo que puede ir vacio si usas localhost
$mail->Password = "***********"; //Contraseña en el servidor smtp. Supongo que puede ir vacio si usas localhost
$mail->From = "[email protected]";//Direccion from de envio
$mail->FromName = "Prueba";
$mail->Timeout = 40; //El tiempo en segundos que tratara de enviar el mensaje antes de marcar error. SI tu mensaje es grande, dejalo donde esta, pero si es simple puedes bajarlo
$mail->AddAddress("$email"); //Aqui va el email al que envias el mensaje. Como viene de un formulario, pones $_POST[nombre del campo del email]
$mail->Subject = "Confirme su email de registro"; //asunto de tu mensaje
//AQUI VA EL BODY DEL MENSAJE EN HTML...
$body = "<p style='font-family: Trebuchet MS'>Este es un email para verificar su cuenta creada en el Grupo Editorial Atlas</p>";
$body.= "<p style='font-family: Trebuchet MS'>este es el texto de prueba</p>";
$mail->Body = $body;
//AQUI VA UN BODY ALTERNATIVO; EN FORMATO SOLO TEXTO; SIN HTML
$mail->AltBody = "Verifica tu email en http://192.168.0.66/users/verificar.php?MailKey=".$mkey." Gracias";
$exito = $mail->Send(); //Envias el mail, y si todo sale correcto exito tendra un valor X
while ((!$exito) && ($intentos<5)) //Ese 5 es el numero de intentos de enviar el mensaje, en caso de que falle al primer intento
{
sleep(5); //Mismo 5 que el de arriba (intentos)
//echo $mail->ErrorInfo;
$exito = $mail->Send();
$intentos=$intentos+1;
}
if(!$exito) //Si exito esta vacio, es que hubo problemas al enviar el mensaje
{
echo "Problemas enviando correo electrónico a ".$email;
echo "<br />".$mail->ErrorInfo;
}
else //SI el envio fue correcto....
{
echo "<p style='font-family:Trebuchet MS'>
Hemos enviado una verificación a su e-mail para culminar el proceso de registro.
<br />
Si observa que <strong>no</strong> llega ninguna verificación, tal vez el mismo haya caído en la sección de SPAM o Correo No Deseado de sus filtros de correo
</p>";
}
?>