Foros del Web » Programando para Internet » PHP »

Enviar correo

Estas en el tema de Enviar correo en el foro de PHP en Foros del Web. Hola amig@s, hoy vengo ante ustedes por medio de su monitor con una petición de ayuda, verán, estoy tratando de enviar mails con php y ...
  #1 (permalink)  
Antiguo 15/04/2011, 16:27
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 13 años, 6 meses
Puntos: 0
Enviar correo

Hola amig@s, hoy vengo ante ustedes por medio de su monitor con una petición de ayuda, verán, estoy tratando de enviar mails con php y la funcion mail() no me ha funcionado pues me dijeron que necesito un servidor smtp para poder usarla, asi que me recomendaron la clase "phpmailer", la cual busqué en internet y voila, la encontré. Ahora lo que no puedo hacer es hacer funcionar este ejemplo que tomé de la red:

Código PHP:
Ver original
  1. <?php
  2.  
  3. // primero hay que incluir la clase phpmailer para poder instanciar
  4.   //un objeto de la misma
  5.   require "includes/class.phpmailer.php";
  6.  
  7.   //instanciamos un objeto de la clase phpmailer al que llamamos
  8.   //por ejemplo mail
  9.   $mail = new phpmailer();
  10.  
  11.   //Definimos las propiedades y llamamos a los métodos
  12.   //correspondientes del objeto mail
  13.  
  14.   //Con PluginDir le indicamos a la clase phpmailer donde se
  15.   //encuentra la clase smtp que como he comentado al principio de
  16.   //este ejemplo va a estar en el subdirectorio includes
  17.   $mail->PluginDir = "includes/";
  18.  
  19.   //Con la propiedad Mailer le indicamos que vamos a usar un
  20.   //servidor smtp
  21.   $mail->Mailer = "smtp";
  22.  
  23.   //Asignamos a Host el nombre de nuestro servidor smtp
  24.   $mail->Host = "smtp.gmail.com";
  25.  
  26.   //Le indicamos que el servidor smtp requiere autenticación
  27.   $mail->SMTPAuth = true;
  28.  
  29.   //Le decimos cual es nuestro nombre de usuario y password
  30.   $mail->Username = "[email protected]";
  31.   $mail->Password = "*********";
  32.  
  33.   //Indicamos cual es nuestra dirección de correo y el nombre que
  34.   //queremos que vea el usuario que lee nuestro correo
  35.   $mail->From = "[email protected]";
  36.   $mail->FromName = "Emma Gabriela Colorado Macìas";
  37.  
  38.   //el valor por defecto 10 de Timeout es un poco escaso dado que voy a usar
  39.   //una cuenta gratuita, por tanto lo pongo a 30  
  40.   $mail->Timeout=10;
  41.  
  42.   //Indicamos cual es la dirección de destino del correo
  43.   $mail->AddAddress("[email protected]","Emma");
  44.  
  45.   //Asignamos asunto y cuerpo del mensaje
  46.   //El cuerpo del mensaje lo ponemos en formato html, haciendo
  47.   //que se vea en negrita
  48.   $mail->Subject = "Prueba de phpmailer";
  49.   $mail->Body = "<b>Mensaje de prueba mandado con phpmailer en formato html</b>";
  50.  
  51.   //Definimos AltBody por si el destinatario del correo no admite email con formato html
  52.   $mail->AltBody = "Mensaje de prueba mandado con phpmailer en formato solo texto";
  53.  
  54.   //se envia el mensaje, si no ha habido problemas
  55.   //la variable $exito tendra el valor true
  56.   $exito = $mail->Send();
  57.  
  58.   //Si el mensaje no ha podido ser enviado se realizaran 4 intentos mas como mucho
  59.   //para intentar enviar el mensaje, cada intento se hara 5 segundos despues
  60.   //del anterior, para ello se usa la funcion sleep
  61.   $intentos=1;
  62.   while ((!$exito) && ($intentos < 5)) {
  63.     sleep(5);
  64.         //echo $mail->ErrorInfo;
  65.         $exito = $mail->Send();
  66.         $intentos=$intentos+1; 
  67.    
  68.    }
  69.  
  70.        
  71.    if(!$exito)
  72.    {
  73.     echo "Problemas enviando correo electrónico a ".$valor;
  74.     echo "<br/>".$mail->ErrorInfo; 
  75.    }
  76.    else
  77.    {
  78.     echo "Mensaje enviado correctamente";
  79.    }
  80.  
  81. ?>

al principio me decia que no se podia autentificar, hace unos minutos me daba el error de no poder conectarse al servidor smtp... pero así es el ejemplo, solamente modifique los valores de las variables... alguien me podría ayudar por favor??


ahora me muestra este error:
SMTP Error: Could not connect to SMTP host. SMTP Error: Could not connect to SMTP host. SMTP Error: Could not connect to SMTP host. SMTP Error: Could not connect to SMTP host.
Fatal error: Maximum execution time of 60 seconds exceeded in C:\wamp\www\mail\enviarmail.php on line 65
  #2 (permalink)  
Antiguo 15/04/2011, 20:32
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Enviar correo

alguien???
  #3 (permalink)  
Antiguo 16/04/2011, 00:53
Avatar de C2am  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 2.005
Antigüedad: 15 años, 3 meses
Puntos: 306
Respuesta: Enviar correo

Lo estas probando desde localhost?
__________________
El mundo nada puede contra un hombre que canta en la miseria.
-- Ernesto Sábato--
  #4 (permalink)  
Antiguo 16/04/2011, 04:37
 
Fecha de Ingreso: noviembre-2009
Mensajes: 226
Antigüedad: 14 años, 5 meses
Puntos: 19
Respuesta: Enviar correo

He utilizado poco PHPMailer, pero igualmente necesitarás un servidor SMTP no?
__________________
Mi blog: magdkudama.com

Mi clase de validación de datos: magdkudama.com/validation
  #5 (permalink)  
Antiguo 16/04/2011, 22:49
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Enviar correo

Cita:
Iniciado por C2am Ver Mensaje
Lo estas probando desde localhost?
Sí, estoy utilizando localhost

Cita:
Iniciado por GrupoC Ver Mensaje
He utilizado poco PHPMailer, pero igualmente necesitarás un servidor SMTP no?
pues esa es la idea, al no tener servidor smtp con phpmailer se soluciona ese problema


aun estoy batallando coneso...
gracias por su ayuda :)
  #6 (permalink)  
Antiguo 16/04/2011, 22:58
Avatar de C2am  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 2.005
Antigüedad: 15 años, 3 meses
Puntos: 306
Respuesta: Enviar correo

Es que tienes que subirlo a un servidor online, a menos que tengas tu servidor local conectado a internet.
__________________
El mundo nada puede contra un hombre que canta en la miseria.
-- Ernesto Sábato--
  #7 (permalink)  
Antiguo 16/04/2011, 23:04
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Enviar correo

Cita:
Iniciado por C2am Ver Mensaje
Es que tienes que subirlo a un servidor online, a menos que tengas tu servidor local conectado a internet.
pues así es, está en el servidor local que se puede visualizar desde internet... cuando lo pruebo en ese servidor me dice que no se puede autentificar y cuando lo pruebo en mi casa en el servidor local me dice que no se puede conectar al smtp

Etiquetas: correo
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 09:38.