Ver Mensaje Individual
  #13 (permalink)  
Antiguo 02/02/2012, 14:14
Avatar de loncho_rojas
loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 4 meses
Puntos: 175
Respuesta: no consigo hacer funcionar la funcion mail de php...

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>"

    } 
?>
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...