Foros del Web » Programando para Internet » PHP »

phpmailer no envia nada!

Estas en el tema de phpmailer no envia nada! en el foro de PHP en Foros del Web. hola, pues descomprimi phpmailer y he usado ejemplos que encuentro y ahora mismo no puedo mandar correos, con tu codigo (poniendo mis datos) tengo este ...
  #1 (permalink)  
Antiguo 19/11/2008, 14:13
Avatar de Mcruzmx  
Fecha de Ingreso: abril-2006
Mensajes: 357
Antigüedad: 18 años
Puntos: 9
phpmailer no envia nada!

hola, pues descomprimi phpmailer y he usado ejemplos que encuentro y ahora mismo no puedo mandar correos, con tu codigo (poniendo mis datos) tengo este error

Warning: fsockopen() [function.fsockopen]: unable to connect to gmail.com:587 (Se produjo un error durante el intento de conexión ya que la parte conectada no respondió adecuadamente tras un periodo de tiempo, o bien se produjo un error en la conexión establecida ya que el host conectado no ha podido responder. ) in C:\AppServ\www\phpmailer\class.smtp.php on line 122

Fatal error: Maximum execution time of 30 seconds exceeded in C:\AppServ\www\phpmailer\class.smtp.php on line 118


y mi archivo es:

<?php

//Incluimos la función
require_once('class.phpmailer.php');
//Creamos la instancia de la clase PHPMailer y configuramos la cuenta
$mail=new PHPMailer();
$mail->Mailer="smtp";
$mail->Helo = "www.dominio.com.mx"; //Muy importante para que llegue a hotmail y otros
$mail->SMTPAuth=true;
$mail->Host="gmail.com";
$mail->Port=587; //depende de lo que te indique tu ISP. El default es 25, pero nuestro ISP lo tiene puesto al 26 puse el que usa outlook
$mail->Username="[email protected]";
$mail->Password="miclave";
$mail->From="[email protected]";
$mail->FromName="Miguel";
$mail->Timeout=60;
$mail->IsHTML(true);
//Enviamos el correo
$mail->AddAddress('[email protected]'); //Puede ser Hotmail
$mail->Subject='Tu asunto';
$mail->Body="<p>Texto lo suficientemente largo y con pocos links para que no sea interpretado como SPAM</p><p>Es importante que el texto sea lo suficientemente largo, ya que si sólo tienes por ejemplo, una frase y un link, asume tanto Outlook como la mayoría de los destinatarios, que se trata de SPAM</p><p>Pero si tu texto es largo y tienes un link a <a href\"http://www.forosdelweb.com\">Foros del web</a> por ejemplo, funcionará perfectamente bien.</p>";
$mail->AltBody="Texto que debe decir lo mismo que el Body, pero sin etiquetas HTML";
$exito = $mail->Send();
if($exito){
$mail->ClearAddresses();
echo "Mensaje enviado exitosamente";
}

?>


obiamente los correos los cambie para ponerlos aki pero es un ejemplo en el codigo puse los reales, gracias si me puedes ayudar.
  #2 (permalink)  
Antiguo 19/11/2008, 14:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Método definitivo para mandar correos con PHPMailer que sí lleguen a Hotma

Cita:
Warning: fsockopen() [function.fsockopen]: unable to connect to gmail.com:587 (Se produjo un error durante el intento de conexión ya que la parte conectada no respondió adecuadamente tras un periodo de tiempo, o bien se produjo un error en la conexión establecida ya que el host conectado no ha podido responder. ) in C:\AppServ\www\phpmailer\class.smtp.php on line 122
Checa tu firewall, al parecer no te puedes conectar correctamente al servidor de gmail.com, el problema en si no esta en PHP si no en la configuración de tu red.

Saludos
  #3 (permalink)  
Antiguo 19/11/2008, 14:26
Avatar de Mcruzmx  
Fecha de Ingreso: abril-2006
Mensajes: 357
Antigüedad: 18 años
Puntos: 9
Respuesta: Método definitivo para mandar correos con PHPMailer que sí lleguen a Hotma

que es? Warning: fsockopen()
  #4 (permalink)  
Antiguo 19/11/2008, 14:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Método definitivo para mandar correos con PHPMailer que sí lleguen a Hotma

Advertencia: fsockopen() asi se llama la función en PHP para abrir un socket a otro servidor.

Saludos
  #5 (permalink)  
Antiguo 19/11/2008, 14:36
Avatar de Mcruzmx  
Fecha de Ingreso: abril-2006
Mensajes: 357
Antigüedad: 18 años
Puntos: 9
Respuesta: Método definitivo para mandar correos con PHPMailer que sí lleguen a Hotma

changos, gracias, nose que hacer, me urge poder mandar correos, he intentado instalar servidores smtp como argosoft y mercury entre otros para usar la funcion mail pero nada, y pues con phpmailer no pasa nada

tengo prodigy (mexico) winxp con el firewall apagado, uso apache y PHP Version 5.2.6 (lo instale con el appserv)

por favor ayudenme
  #6 (permalink)  
Antiguo 19/11/2008, 14:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Método definitivo para mandar correos con PHPMailer que sí lleguen a Hotma

Prueba hacer un ping desde tu maquina a gmail.com puerto 587, como te comento no es un tema de PHP, yo creo puedes obtener mas ayuda en el foro de Windows.

Saludos
  #7 (permalink)  
Antiguo 19/11/2008, 14:54
Avatar de Mcruzmx  
Fecha de Ingreso: abril-2006
Mensajes: 357
Antigüedad: 18 años
Puntos: 9
Respuesta: Método definitivo para mandar correos con PHPMailer que sí lleguen a Hotma

gracias lo intentare.

hago ping a gmail.com y me resuelve, doy a 587 y nop (gmail.com:587)
  #8 (permalink)  
Antiguo 19/11/2008, 15:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Método definitivo para mandar correos con PHPMailer que sí lleguen a Hotma

Creo el host de Gmail es smtp.gmail.com, porque no pruebas eso?

Saludos.
  #9 (permalink)  
Antiguo 19/11/2008, 15:14
Avatar de Mcruzmx  
Fecha de Ingreso: abril-2006
Mensajes: 357
Antigüedad: 18 años
Puntos: 9
Warning: fsockopen() [function.fsockopen]: unable to connect to smtp.gmail.com:25 (Se produjo un error durante el intento de conexión ya que la parte conectada no respondió adecuadamente tras un periodo de tiempo, o bien se produjo un error en la conexión establecida ya que el host conectado no ha podido responder. ) in C:\AppServ\www\phpmailer\class.smtp.php on line 122
Message was not sent
Mailer Error: SMTP Error: Could not connect to SMTP host.


y tengo esto $mailer->Host = 'smtp.gmail.com';
lo he intentado con $mailer->Host = 'smtp.gmail.com:587';
y nada

sera que tengo que agregar algo para el ssl? o algo asi? gracias

en outlook por ejemplo dice "requiere autentificación SPA" y en phpmailer no he puesto nada asi, donde puedo poner eso?

Última edición por GatorV; 19/11/2008 a las 20:07
  #10 (permalink)  
Antiguo 19/11/2008, 15:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Método definitivo para mandar correos con PHPMailer que sí lleguen a Hotma

Para SSL creo necesitas compilar tu instalación de PHP con OpenSSL para poder usar ssl, revisa este articulo: http://www.buayacorp.com/archivos/phpmailer-con-gmail/

Saludos.
  #11 (permalink)  
Antiguo 19/11/2008, 15:31
Avatar de Mcruzmx  
Fecha de Ingreso: abril-2006
Mensajes: 357
Antigüedad: 18 años
Puntos: 9
no me equivoque me referia a lo que puse despues, eske en outlook por ejemplo hay que poner "autentificacion SPA" y en phpmailer no lo estoy haciendo, nosera eso por lo que da error de conexion?

no puedo enviar correos :S que tengo mal! t_t ya estoy desesperado tengo semanas y no puedo lograrlo. por favor ayudenme.

<?
//Incluimos la función
require_once('../phpmailer/class.phpmailer.php');
//Creamos la instancia de la clase PHPMailer y configuramos la cuenta
$mail=new PHPMailer();
$mail->Mailer="smtp";
$mail->Helo = "www.gmail.com"; //Muy importante para que llegue a hotmail y otros
$mail->SMTPAuth=true;
$mail->Host="gmail.com";
$mail->Port=587; //depende de lo que te indique tu ISP. El default es 25, pero nuestro ISP lo tiene puesto al 26
$mail->Username="miusuariodegmail";
$mail->Password="miclave";
$mail->From="[email protected]";
$mail->FromName="Miguel";
$mail->Timeout=30;
$mail->IsHTML(true);
//Enviamos el correo
$mail->AddAddress('[email protected]'); //Puede ser Hotmail
$mail->Subject='Tu asunto';
$mail->Body="<p>Texto lo suficientemente largo y con pocos links para que no sea interpretado como SPAM</p><p>Es importante que el texto sea lo suficientemente largo, ya que si sólo tienes por ejemplo, una frase y un link, asume tanto Outlook como la mayoría de los destinatarios, que se trata de SPAM</p><p>Pero si tu texto es largo y tienes un link a <a href\"http://www.forosdelweb.com\">Foros del web</a> por ejemplo, funcionará perfectamente bien.</p>";
$mail->AltBody="Texto que debe decir lo mismo que el Body, pero sin etiquetas HTML";
$exito = $mail->Send();
if($exito){
$mail->ClearAddresses();
echo "Mensaje enviado exitosamente";
}
?>

y pues no recibo nada, tengo el phpmailer descomprimido en una carpeta y en este tengo un archivo llamado mail.php donde esta el codigo que puse.

que hago? tengo winxp pro, firewall off, prodigy (mexico) con firewall off para mi equipo, apache2 y php 5 (appserv) ayuda por favor!

Última edición por GatorV; 19/11/2008 a las 20:07
  #12 (permalink)  
Antiguo 19/11/2008, 15:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Método definitivo para mandar correos con PHPMailer que sí lleguen a Hotma

No, si revisas el link que te deje tienes que modificar unas cosas para poder entrar como tls a gmail.

Saludos.
  #13 (permalink)  
Antiguo 19/11/2008, 18:22
 
Fecha de Ingreso: septiembre-2008
Mensajes: 152
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: phpmailer no envia nada!

Yo uve un problema similar y lo que pasaba era que como los ervidores de los correos electronicos (hotmail, gamil, yahoo, etc) aumentaron su seguridad y no dejaba que pasara mi correo por que no tenia una direccion de correo fija y ademas segura, encontre algunos docuemtnos en internet que me decian que para que los envios de correo funcionarán tenia que dar de alta mi IP en Microsoft para que los servidore detectaran mi IP como segura.

Espero te ayude un poco
  #14 (permalink)  
Antiguo 19/11/2008, 18:25
Avatar de Mcruzmx  
Fecha de Ingreso: abril-2006
Mensajes: 357
Antigüedad: 18 años
Puntos: 9
hola gracias, revise el link se ve muy bien y justo a lo que me referia solo que ahora tengo el problema de habilitar el ssl

ya me funciona n_n

active el SSL como dice en el link que me dicen solo copie unos dlls a system32 de mi xp reinicie apache y listo! n_n gracias a todos por su amable respuesta! :)

gracias kalvera85 pero ps igual no creo que sea verdad que tiene que ver gmail con microsoft? o yahoo, igual hotmail quizas si pero no creo que sea verdad. saludos.

Última edición por GatorV; 19/11/2008 a las 20:07
  #15 (permalink)  
Antiguo 19/11/2008, 19:55
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: phpmailer no envia nada!

Mcruzmx:
Te recomiendo esta nueva clase que es mucho mejor que phpmailer.
http://www.xpertmailer.com/
Y no se en tu caso especifico pero PHP permite utilizar los COM Objects
para enviar correo via el Outlook, siempre y cuando tengas una conexion con tu ISP; el detalle lo puedes ver aqui:
http://www.phptalk.com/index.php?page=details&id=3
Saludos
Y espero te ayude
Franco
P.S. Personalmente estoy de acuerdo con el amigo Kalvera85 en el sentido que los grandes del correo electronico han hecho el envio de correos mas y mas dificil y hoy dia si no tienes reverso de tu IP, se hace todo muy dificil sino imposible.
  #16 (permalink)  
Antiguo 19/11/2008, 19:59
Avatar de Mcruzmx  
Fecha de Ingreso: abril-2006
Mensajes: 357
Antigüedad: 18 años
Puntos: 9
Respuesta: phpmailer no envia nada!

muchas gracias, ya jalo! me pasaron un link que me ayudo (active ssl como dice un comentario ahi)

gracias de cualquier forma :)

http://www.buayacorp.com/archivos/phpmailer-con-gmail/
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 03:45.