Foros del Web » Programando para Internet » PHP »

error en phpmailer

Estas en el tema de error en phpmailer en el foro de PHP en Foros del Web. Hola, estoy intentando enviar un correo con phpmailer y xampp, pero no para de darme errores, ahora en concreto me envia este. Error: SMTP Error: ...
  #1 (permalink)  
Antiguo 14/09/2011, 15:16
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 17 años, 6 meses
Puntos: 0
error en phpmailer

Hola, estoy intentando enviar un correo con phpmailer y xampp, pero no para de darme errores, ahora en concreto me envia este.

Error: SMTP Error: Could not authenticate.

aqui está mi codigo, he intentado de mil formas y no doy con la clave, a ver si alguien me puede echar una mano y dejar de echar humo por las orejas.

Código PHP:
require_once("PHPmailer/class.phpmailer.php");
require_once(
"PHPmailer/class.smtp.php");
 

    
$correo_destino="[email protected]";
    
$nombre_destino="nombre";
    
$correo_emisor="[email protected]";
    
$nombre_emisor="[email protected]";
    
$contrasena="****";
    
$mail = new PHPMailer();
    
$mail->IsSMTP();
    
$mail->SMTPAuth true;
    
$mail->Username $correo_emisor;
    
$mail->Password $contrasena;  
    
$mail->From $correo_emisor;
    
$mail->FromName $nombre_emisor;
    
$mail->AddAddress($correo_destino,$nombre_destino);
    
$mail->AddReplyTo($correo_emisor,$nombre_emisor);
    
$mail->WordWrap 50;
    
$mail->IsHTML(true);
    
$mail->Subject "titulo";
    
$mail->Body 'contenido html';
    
$mail->AltBody "contenido en texto plano";
    if(!
$mail->Send()){
      echo 
"Error: " $mail->ErrorInfo;
    }else{
      echo 
"Correoenviado;
    } 
  #2 (permalink)  
Antiguo 14/09/2011, 15:17
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 11 meses
Puntos: 51
Respuesta: error en phpmailer

Quiere decir que estás usando un usuario y contraseña incorrectos en tu servidor smtp.
  #3 (permalink)  
Antiguo 14/09/2011, 15:20
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: error en phpmailer

bueno.. el usuario en caso de gmail es el mismo correo ¿verdad? a ver si va a ser una tonteria al final...
  #4 (permalink)  
Antiguo 14/09/2011, 15:22
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 11 meses
Puntos: 51
Respuesta: error en phpmailer

Deberían ser los mismos datos, aunque no recuerdo si para el usuario era el mail completo o lo que está antes del @, tendrías que probar. Otra cosa, estas usando el ssl correcto? El puerto correcto? Yo no los recuedo ahora, si no te los dejaría, pero seguro googleando los encontrás.
  #5 (permalink)  
Antiguo 14/09/2011, 15:28
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: error en phpmailer

Rectifico el codigo.

Código PHP:
require_once("PHPmailer/class.phpmailer.php");
require_once(
"PHPmailer/class.smtp.php");
 

    
$correo_destino="[email protected]";
    
$nombre_destino="nombre";
    
$correo_emisor="[email protected]";
    
$nombre_emisor="[email protected]";
    
$contrasena="****";
    
$mail = new PHPMailer();
    
$mail->Host "smtp.gmail.com";
    
$mail->Port 465;
    
$mail->IsSMTP();
    
$mail->SMTPAuth true;
    
$mail->Username $correo_emisor;
    
$mail->Password $contrasena;  
    
$mail->From $correo_emisor;
    
$mail->FromName $nombre_emisor;
    
$mail->AddAddress($correo_destino,$nombre_destino);
    
$mail->AddReplyTo($correo_emisor,$nombre_emisor);
    
$mail->WordWrap 50;
    
$mail->IsHTML(true);
    
$mail->Subject "titulo";
    
$mail->Body 'contenido html';
    
$mail->AltBody "contenido en texto plano";
    if(!
$mail->Send()){
      echo 
"Error: " $mail->ErrorInfo;
    }else{
      echo 
"Correoenviado;
    } 

ahora no da error, pero no hace nada...
  #6 (permalink)  
Antiguo 14/09/2011, 15:31
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 11 meses
Puntos: 51
Respuesta: error en phpmailer

Probá agregando:

Código PHP:
Ver original
  1. $mail->SMTPSecure = "ssl";
  #7 (permalink)  
Antiguo 14/09/2011, 15:35
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: error en phpmailer

Rectificado y solucionado!

Código PHP:
require_once("PHPmailer/class.phpmailer.php");
require_once(
"PHPmailer/class.smtp.php");
 

    
$correo_destino="[email protected]";
    
$nombre_destino="nombre";
    
$correo_emisor="[email protected]";
    
$nombre_emisor="[email protected]";
    
$contrasena="****";
    
$mail = new PHPMailer();
    
$mail->Host "smtp.gmail.com";
    
$mail->Port 465;
    
$mail->SMTPSecure "ssl";
    
$mail->IsSMTP();
    
$mail->SMTPAuth true;
    
$mail->Username $correo_emisor;
    
$mail->Password $contrasena;  
    
$mail->From $correo_emisor;
    
$mail->FromName $nombre_emisor;
    
$mail->AddAddress($correo_destino,$nombre_destino);
    
$mail->AddReplyTo($correo_emisor,$nombre_emisor);
    
$mail->WordWrap 50;
    
$mail->IsHTML(true);
    
$mail->Subject "titulo";
    
$mail->Body 'contenido html';
    
$mail->AltBody "contenido en texto plano";
    if(!
$mail->Send()){
      echo 
"Error: " $mail->ErrorInfo;
    }else{
      echo 
"Correoenviado;
    } 

Como lo haceis! llevo todo el dia liado y ya desesperado acudo a san forosdelweb y !chan!.

Mil gracias walterdevel.
  #8 (permalink)  
Antiguo 14/09/2011, 15:38
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 11 meses
Puntos: 51
Respuesta: error en phpmailer

Me alegro que te funcionara
  #9 (permalink)  
Antiguo 15/09/2011, 03:23
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: error en phpmailer

Ahora tengo el mismo problema pero para hotmail.

no envia los correos y lanza el mismo error.

Código PHP:
require_once("PHPmailer/class.phpmailer.php");
require_once(
"PHPmailer/class.smtp.php");
 

    
$correo_destino="[email protected]";
    
$nombre_destino="nombre";
    
$correo_emisor="[email protected]";
    
$nombre_emisor="[email protected]";
    
$contrasena="****";
    
$mail = new PHPMailer();
    
$mail->Host "smtp.live.com";
    
$mail->Port 26;
    
$mail->SMTPSecure "ssl";
    
$mail->IsSMTP();
    
$mail->SMTPAuth true;
    
$mail->Username $correo_emisor;
    
$mail->Password $contrasena;  
    
$mail->From $correo_emisor;
    
$mail->FromName $nombre_emisor;
    
$mail->AddAddress($correo_destino,$nombre_destino);
    
$mail->AddReplyTo($correo_emisor,$nombre_emisor);
    
$mail->WordWrap 50;
    
$mail->IsHTML(true);
    
$mail->Subject "titulo";
    
$mail->Body 'contenido html';
    
$mail->AltBody "contenido en texto plano";
    if(!
$mail->Send()){
      echo 
"Error: " $mail->ErrorInfo;
    }else{
      echo 
"Correoenviado;
    } 
Además el de gmail aveces entra como no deseado.

hace tiempo solucioné este problema del correo no deseado, pero ahora no recuerdo como lo hice.

Etiquetas: html, phpmailer
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:39.