Foros del Web » Programando para Internet » PHP »

PHPMailer + Gmail

Estas en el tema de PHPMailer + Gmail en el foro de PHP en Foros del Web. Juro que lo busqué por infinitos lugares. Juro que me recorrí todo el foro y no encontré un carajo. Todas las 'soluciones' fueron no satisfactorias ...
  #1 (permalink)  
Antiguo 24/04/2011, 03:39
 
Fecha de Ingreso: abril-2011
Mensajes: 18
Antigüedad: 13 años
Puntos: 0
Exclamación PHPMailer + Gmail

Juro que lo busqué por infinitos lugares.
Juro que me recorrí todo el foro y no encontré un carajo. Todas las 'soluciones' fueron no satisfactorias para mi...snif...

Acá va la cuestión:

No sé si yo seré muy pelotudo, o si enviar un e-mail con esta clase utilizando el servidor SMTP de Gmail es complicado....De todos modos, paso a explicar.

Estoy creando un formulario de contacto para mi blog, el cual contiene los siguientes campos: 'nombre', 'email', 'asunto', 'mensaje'...Todo muy bonito el diseño, etc...la cosa es que quiero que ese mensaje que escriba el usuario me llegue directamente a mi cuenta de gmail...(pero si, pelotudo, ¿para qué aclaras algo tan obvio?....perdon).

Mi codigo es el siguiente y no me funca, y ya intente darle 8950 cueltas y nada....quisiera saber si alguien tiene 'la posta de PHPMailer y Gmail'...Cómo hay que configurarlo..o si hay que cambiar algo en algun archivo de la clase....Pego (en vano) el código, a ve si tal vez es una huevada modificable

Código PHP:
Ver original
  1. <?php
  2.  
  3.     require "includes/class.phpmailer.php";
  4.    
  5.     $mail = new PHPMailer();
  6.    
  7.     $mail->IsSMTP();
  8.     $mail->Host = 'smtp.gmail.com';
  9.     $mail->SMTPSecure = "tls";
  10.     $mail->Port = 465;
  11.     $mail->SMTPAuth = true;
  12.     $mail->Username = '[email protected]';
  13.     $mail->Password = '********';
  14.        
  15.     $mail->From = "[email protected]";
  16.     $mail->AddAddress("[email protected]");
  17.    
  18.     $mail->Subject = "Testeando PHPMailer";
  19.     $mail->Body = "Hola! \n\n Probando PHPMailer..1..2...3...Probando.";
  20.     $mail->WordWrap = 50;
  21.    
  22.     if (!$mail->Send()) {
  23.    
  24.         echo 'No se ha enviado el mensaje.';
  25.         echo 'El error fue: ' . $mail->ErrorInfo;
  26.    
  27.     }
  28.     else {
  29.    
  30.         echo 'Se ha enviado el mensaje con éxito!';
  31.    
  32.     }
  33. ?>

En realidad, el campo del 'remitente' vendria a ser lo obtenido tras el 'post', pero igualmente quise hacer un script de prueba y no funca...Ayuda por favor!!

Muchas gracias. Espero una pronta y aliviadora respuesta.
  #2 (permalink)  
Antiguo 24/04/2011, 23:46
Avatar de claus0618  
Fecha de Ingreso: noviembre-2008
Ubicación: USA
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: PHPMailer + Gmail

Hola. En este momento que pasa? te saca el error de no se pudo enviar o simplemente no te llega al correo?

Si te saca error, intenta colocar
Código PHP:
Ver original
  1. $mail->SMTPSecure = 'ssl';
en vez de tls. Si lo usas con tls lo que tendrias es que cambiar el puerto
Código PHP:
Ver original
  1. $mail->Port = 587

Suponiendo que no te llega y lo que quieres es que el correo le llegue al usuario ([email protected]) y te llegue a ti ([email protected]) tambien, si miras tu codigo, en ninguna parte estas colocando
Código PHP:
Ver original
  1. $mail->AddAddress("[email protected]");
solo estas colocando
Código PHP:
Ver original
  1. $mail->From = "[email protected]";

Espero te sirva.
  #3 (permalink)  
Antiguo 25/04/2011, 01:33
 
Fecha de Ingreso: abril-2011
Mensajes: 18
Antigüedad: 13 años
Puntos: 0
Respuesta: PHPMailer + Gmail

Bueno, lo que quiero en realidad es una seccion 'contacto'. Aplicarle las varables post: el 'from' vendria a ser la direccion de correo electronico de la pensona que me está enviando el correo y el 'to' seria yo...

¿Se entendió ahora?

Ya intente todo lo que listas y nada...no me tira error, pero tampoco me llega el mensaje...(obviamente lo probe con dos cuentas mias de correo, ambas gmail). De todos modos gracias. Hay algo más que deba saber de PHPMailer?
  #4 (permalink)  
Antiguo 25/04/2011, 08:44
Avatar de claus0618  
Fecha de Ingreso: noviembre-2008
Ubicación: USA
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: PHPMailer + Gmail

Cita:
ueno, lo que quiero en realidad es una seccion 'contacto'. Aplicarle las varables post: el 'from' vendria a ser la direccion de correo electronico de la pensona que me está enviando el correo y el 'to' seria yo...
Ammm entonces ese es el problema. Tu no puedes enviar correos desde (from) una cuenta a la que no le conoces la contraseña. Poner un correo en el from es como si tu entraras a la bandeja de entrada de tu correo y le dieras enviar a un nuevo correo, para eso tendrias que conocer la contraseña de la cuenta de correo. Lo que tienes que hacer es colocar tanto en from como en to tu cuenta de gmail a la cual si le conoces la contraseña, y dentro del contenido de ese correo, colocas el nombre y el correo de la persona que hizo el comentario.

Espero te sirva.
  #5 (permalink)  
Antiguo 25/04/2011, 10:00
 
Fecha de Ingreso: enero-2010
Mensajes: 247
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: PHPMailer + Gmail

Cita:
Iniciado por claus0618 Ver Mensaje
Ammm entonces ese es el problema. Tu no puedes enviar correos desde (from) una cuenta a la que no le conoces la contraseña. Poner un correo en el from es como si tu entraras a la bandeja de entrada de tu correo y le dieras enviar a un nuevo correo, para eso tendrias que conocer la contraseña de la cuenta de correo. Lo que tienes que hacer es colocar tanto en from como en to tu cuenta de gmail a la cual si le conoces la contraseña, y dentro del contenido de ese correo, colocas el nombre y el correo de la persona que hizo el comentario.

Espero te sirva.
intervengo en el foro porque tengo la misma meta que skell, mi codigo es el siguiente

include("includes/class.phpmailer.php");
include("includes/class.smtp.php");

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Username = "[email protected]";
$mail->Password = "miclave";

$mail->From = "[email protected]";
$mail->FromName = "mi nombre";
$mail->Subject = "Subject del Email";
$mail->AltBody = "Hola, te doy mi nuevo numero\nxxxx.";
$mail->MsgHTML("Hola, te doy mi nuevo numero<br><b>xxxx</b>.");
$mail->AddAddress("[email protected]", "Destinatario");
$mail->IsHTML(true);

if(!$mail->Send()) {
echo "Error: " . $mail->ErrorInfo;
} else {
echo "Mensaje enviado correctamente";
}


aun cambiandole el puerto no me funciona y me saca el siguiente error


Warning: fsockopen() [function.fsockopen]: unable to connect to ssl://smtp.gmail.com:465 (Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?) in C:\AppServ\www\mensaje\includes\class.smtp.php on line 122
Error: Language string failed to load: connect_host

que podra ser el problema me hablan de unas librerias openssl que hay que copiar en system32 pero no las encuentro, he habilitado en la linea php_openssl en el php.ini y no funciono, cual sera el problema.
  #6 (permalink)  
Antiguo 25/04/2011, 10:11
Avatar de claus0618  
Fecha de Ingreso: noviembre-2008
Ubicación: USA
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: PHPMailer + Gmail

Debes tener en cuenta que PHPMailer solo funciona con PHP mayor a la version 4.3, en versiones anteriores a esas no hay soporte.

Lo otro son los firewall de tu host, muy posiblemente el firewall del host donde tienes tu sitio web esta bloqueando los puertos.
  #7 (permalink)  
Antiguo 25/04/2011, 10:23
 
Fecha de Ingreso: enero-2010
Mensajes: 247
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: PHPMailer + Gmail

Cita:
Iniciado por claus0618 Ver Mensaje
Debes tener en cuenta que PHPMailer solo funciona con PHP mayor a la version 4.3, en versiones anteriores a esas no hay soporte.

Lo otro son los firewall de tu host, muy posiblemente el firewall del host donde tienes tu sitio web esta bloqueando los puertos.
Pero tengo configurado la misma cuenta en outlook y me funciona bien, la version de php es PHP la Version 5.2.6

ahora cual sera el problema.
  #8 (permalink)  
Antiguo 25/04/2011, 12:38
 
Fecha de Ingreso: enero-2010
Mensajes: 247
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: PHPMailer + Gmail

he actualizado la version de phpmailer a la version phpmailer 5.1 y ahora me sale este error.

SMTP Error: Could not connect to SMTP host. Error: SMTP Error: Could not connect to SMTP host.

a que se debe esto ?
  #9 (permalink)  
Antiguo 25/04/2011, 12:56
Avatar de Unxky28  
Fecha de Ingreso: marzo-2006
Mensajes: 82
Antigüedad: 18 años
Puntos: 1
Respuesta: PHPMailer + Gmail

En tu hosting debes de tener salida a correos por ejemplo el uso de sendmail. Pregunta en tu hosting si existe algo parecido para salida de correos.

Saludos.!
__________________
El Futuro esta en Tus Manos...
  #10 (permalink)  
Antiguo 25/04/2011, 18:50
 
Fecha de Ingreso: abril-2011
Mensajes: 18
Antigüedad: 13 años
Puntos: 0
Respuesta: PHPMailer + Gmail

Muchas gracias por la info...Pero te olvidás de un detalle....yo EN MI BLOG voy a poner el formulario y entiendo el punto de que el 'sender' va a tener que ser mi cuenta...pero cuando testeo en LOCALHOST uso mi cuenta, y ahi es donde me tira error

Alguien sabe si tengo que modificar algo del archivo de la clase...o mi configuracion php.ini...o la del servidor (cuando lo subo, también pasa lo mismo)....

Me estoy volviendo loco! jaja

Ah, y si no hay salida....¿alguna otra clase que sirva y que sepan que funca con gmail?

Gracias.

Etiquetas: gmail, 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 05:25.