Foros del Web » Programando para Internet » PHP »

Email con php

Estas en el tema de Email con php en el foro de PHP en Foros del Web. Hola a todos, llevo medio día tratando de enviar correos con php y una cuenta gmail o hotmail. Ya probé con minirelay y modificando el ...
  #1 (permalink)  
Antiguo 16/02/2012, 12:35
 
Fecha de Ingreso: febrero-2012
Mensajes: 61
Antigüedad: 12 años, 2 meses
Puntos: 1
Pregunta Email con php

Hola a todos, llevo medio día tratando de enviar correos con php y una cuenta gmail o hotmail. Ya probé con minirelay y modificando el php.ini , pero nada, me marco error. Ahora estaba probando hacerlo con la clase de phpmeiler pero nada, aca esta el error.


Código:
SMTP Error: Could not connect to SMTP host. SMTP Error: Could not connect to SMTP host.
Y tengo configurado el smtp como "smtp.gmail.com" y nada.

Alguien me puede ayudar, en ultimo caso usar otro correo que me digan que si esta funcionando actualmente con phpmailer. Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 16/02/2012, 12:38
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Email con php

PHPmailer funciona ok, puedes hacer una prueba con cualquier correo normal. Cuando te funcione, verifica la configuración en tu código:
http://www.web-development-blog.com/...ler-and-gmail/
Saludos
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 16/02/2012, 13:22
 
Fecha de Ingreso: febrero-2012
Mensajes: 61
Antigüedad: 12 años, 2 meses
Puntos: 1
Pregunta Respuesta: Email con php

Hola repara2, gracias por tu ayuda pero esta raro esto, mira este es mi código:

Código:
<?php
include("class.phpmailer.php");
include("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]"; //MI CORREO
$mail->Password = "XXXXXXX"; // MI CONTRASEÑA

$mail->From = "[email protected]"; //ACA CORREO DESTINO
$mail->FromName = "User Name";
$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->AddAttachment("files/files.zip");
//$mail->AddAttachment("files/img03.jpg");
$mail->AddAddress("XXXX@XXXXX", "Destinatario");
$mail->IsHTML(true);

if(!$mail->Send()) {
  echo "Error: " . $mail->ErrorInfo;
} else {
  echo "Mensaje enviado correctamente";
}
?>
Según yo debería estar bien, todo lo que esta en XXXXX lo edite.
  #4 (permalink)  
Antiguo 16/02/2012, 18:12
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Email con php

Bueno ese mensaje de error me salia cuando intentaba enviar mail desde localhost, phpmailer como te dicen funciona perfecto revisa la cuenta desde donde intentas enviar el correo ahy debe estar el problema tal vez el puerto q utiliza...
  #5 (permalink)  
Antiguo 16/02/2012, 19:07
 
Fecha de Ingreso: febrero-2012
Mensajes: 61
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: Email con php

Cita:
Iniciado por maxpower2008 Ver Mensaje
Bueno ese mensaje de error me salia cuando intentaba enviar mail desde localhost, phpmailer como te dicen funciona perfecto revisa la cuenta desde donde intentas enviar el correo ahy debe estar el problema tal vez el puerto q utiliza...
Efectivamente estoy tratando de enviar desde localhost. Aun no puedo...
  #6 (permalink)  
Antiguo 17/02/2012, 00:24
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Email con php

PHPMailer utiliza la configuración que le pasas en el código, no estás enviando desde localhost sino desde gmail. Enviar desde localhost significa que tu host smtp es localhost. El mensaje es claro: SMTP Error: Could not connect to SMTP host. No hay conexión con el servidor. Prueba con ping a ver si tienes respuesta, a mí la ip me da 74.125.79.108. Comprueba antes que nada el tema red, a continuación la configuración otra vez. De dónde has sacado todas las opciones de configuración: ssl, nombre del server, etc?? Aquí tienes una classe smtp un poco más especializada: http://www.phpclasses.org/package/14...-protocol.html
Saludos
__________________
Fere libenter homines, id quod volunt, credunt.
  #7 (permalink)  
Antiguo 17/02/2012, 07:18
 
Fecha de Ingreso: febrero-2012
Mensajes: 61
Antigüedad: 12 años, 2 meses
Puntos: 1
Pregunta Respuesta: Email con php

Cita:
Iniciado por repara2 Ver Mensaje
PHPMailer utiliza la configuración que le pasas en el código, no estás enviando desde localhost sino desde gmail. Enviar desde localhost significa que tu host smtp es localhost. El mensaje es claro: SMTP Error: Could not connect to SMTP host. No hay conexión con el servidor. Prueba con ping a ver si tienes respuesta, a mí la ip me da 74.125.79.108. Comprueba antes que nada el tema red, a continuación la configuración otra vez. De dónde has sacado todas las opciones de configuración: ssl, nombre del server, etc?? Aquí tienes una classe smtp un poco más especializada: [url]http://www.phpclasses.org/package/14-PHP-Sends-e-mail-messages-via-SMTP-protocol.html[/url]
Saludos
Hola gracias, la información la saque de varios manuales(que decian lo mismo) y del mismo gmail. Hice el ping y obtengo respuesta de 74.125.79.108. Trate de hacer correr la clase de la dirección, configure el test_smtp pero al final me daba uno y otro problema ya que era requerida una y otra clase, aunque lograba llegar al servidor y marcaba error.

Al final tuve que hacer correr un servidor smtp local, instale el mercury/32 lo configure con una cuenta de gmail, luego modifique el php.ini y listo actualmente el sistema manda mails desde una cuenta gmail hacia cualquier cuenta, usando la función mail() de php, que es bastante sencilla.
  #8 (permalink)  
Antiguo 17/02/2012, 07:48
 
Fecha de Ingreso: febrero-2012
Mensajes: 61
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: Email con php

Pude usar finalmente el phpmeiler!!!!!!!!!!!

Mirando mi cafe y pensando, dije " No esta P*** C**** no me ganara!!!!, así que puse manos a la obra y busque información y en una pagina me di cuenta que la persona no le paso el:

Código:
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
sino que edito directamente el la clase smtp.class.php y en $host y $port puso los datos, así que probé que tal el code:

Código:
<?php
    require("class.phpmailer.php"); 
//------------------------------------------------------
    $correo_destino="[email protected]"; //a que correo llega
    $nombre_destino="TELETUBIS"; //nombre de quien recibe
    $correo_emisor="XXXX@XXXXX"; //tu correo
    $nombre_emisor="MI NOMBRE"; //tu nombre
    $contrasena="XXXXX"; //contraseña de tu usuario
//--------------------------------------------------------
    $mail = new PHPMailer();
    $mail->IsSMTP(); // Envia el correo via SMTP
    $mail->SMTPAuth = true; // Enciende la autenticacion SMTP
    $mail->Username = $correo_emisor; // Usuario SMTP
    $mail->Password = $contrasena; // Contrasena SMTP    
    $mail->From = $correo_emisor;
    $mail->FromName = $nombre_emisor; //Nombre del que envia el correo
    $mail->AddAddress($correo_destino,$nombre_destino);
    $mail->AddReplyTo($correo_emisor,$nombre_emisor);
    $mail->WordWrap = 50; // Word wrap
    $mail->IsHTML(true); // Enviar como HTML
    $mail->Subject = "Correo por phpmailer"; //Asunto
    $mail->Body = 'Es el cuerpo del mensaje en HMTL'; //Cuerpo en HMTL
    $mail->AltBody = ""; //Cuerpo en Texto plano
    if(!$mail->Send()){
      echo "Error: " . $mail->ErrorInfo;
    }else{
      echo "El Correo se ha enviado satisfactoriamente";
    }
?>
Y Funciono!!!

Etiquetas: email
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 10:19.