Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] No pasa nada cuando envio mail con PHPMailer!

Estas en el tema de No pasa nada cuando envio mail con PHPMailer! en el foro de PHP en Foros del Web. Señores, buen día. Quiero que desde mi sitio los usuarios puedan enviar a mi correo un mensaje mediante un mormulario. Eso es todo. Hasta donde ...
  #1 (permalink)  
Antiguo 13/06/2013, 07:25
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Pregunta ¿Alternativa para quienes no podemos usar función MAIL?

Señores, buen día.

Quiero que desde mi sitio los usuarios puedan enviar a mi correo un mensaje mediante un mormulario. Eso es todo.

Hasta donde sé, para que la función mail haga su trabajo, es necesario que la dirección de correo a donde se enviarán los mensajes (el destinatario, nosotros), pertenezca al hosting donde está alojada nuestra página. Si nuestra página es:
mipagina.byethost4.com
entonces nuestra cuenta de correo debe ser:
[email protected]

Mi problema es que mi sitio está alojado en un servidor gratuito (byethost4.com, y no pienso pagar por uno). Una de las desventajas de este servidor es que no me da ninguna cuenta de e-mail gratuita.

Así que la función mail estará muy bonita, pero a mí no me sirve.

Entiendo que una cuenta de Google Apps solucionaría mi problema. Como sea, Google ya no da ese servicio gratuito a todo mundo. Su versión gratuita (For Education) sólo aplica a ONG's humanitarias, etc.

Entonces?

Qué hago, cómo enviar mensajes desde mi página
  #2 (permalink)  
Antiguo 13/06/2013, 07:40
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: ¿Alternativa para quienes no podemos usar función MAIL?

¿De dónde sacas que eso es así? Yo utilizo la función mail y redirijo a cuentas de Yahoo o Gmail sin problemas. También la uso para enviar un correo al que envía el formulario mediante mi página, y obviamente el visitante no tiene un mail perteneciente al hosting donde alojo mi página. ¿Has probado de hacerlo?
  #3 (permalink)  
Antiguo 13/06/2013, 07:41
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: ¿Alternativa para quienes no podemos usar función MAIL?

Usa un cuenta de Gmail propia, hazlo con PHPMailer...
__________________
Aprendiendo!!!
  #4 (permalink)  
Antiguo 13/06/2013, 09:58
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Respuesta: ¿Alternativa para quienes no podemos usar función MAIL?

Cita:
Iniciado por sjj Ver Mensaje
¿De dónde sacas que eso es así?

Qué onda SJJ!

Mira, he intentado tropecientas veces hacerle como dices, a saber, poner la función mail con una cuenta de hotmail, gmail, yahoo, y nunca recibo un correo, ni uno!. O lo hago mal (y en verdad espero que éste sea el problema) o bien es cierto, al menos en parte, que algunos hostings restringen el uso de mail() haciendo que funcione sólo si el correo es suyo.

Aquí una de las formas como lo hago:

Código PHP:
<?php
$remitente 
$_REQUEST["mailNombre"];
$mail      $_REQUEST["mailMail"];
$mensaje   $_REQUEST["mailMensaje"];

mail("[email protected]""Mensaje enviado desde mi página"$mensaje"FROM: $mail") or die ("El mensaje no pudo enviarse correctamente");

echo 
"Gracias " $remitente " por enviar su correo.";
?>

Última edición por berkeleyPunk; 13/06/2013 a las 10:06
  #5 (permalink)  
Antiguo 13/06/2013, 10:08
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Respuesta: ¿Alternativa para quienes no podemos usar función MAIL?

Cita:
Iniciado por anacona16 Ver Mensaje
Usa un cuenta de Gmail propia, hazlo con PHPMailer...

Sí, he usado con una cuenta de Gmail, y tampoco funciona.

¿Pero cómo está eso de PHPMailer?

Qué demonios es eso de PHPMailer!
  #6 (permalink)  
Antiguo 13/06/2013, 10:10
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: ¿Alternativa para quienes no podemos usar función MAIL?

Yo nunca uso la funcion mail, muchas veces da problemas, perfiero usar PHPMailer, mira este ejemplo: http://phpmailer.worxware.com/?pg=examplebgmail
__________________
Aprendiendo!!!
  #7 (permalink)  
Antiguo 13/06/2013, 10:41
 
Fecha de Ingreso: junio-2013
Ubicación: santiago
Mensajes: 34
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: ¿Alternativa para quienes no podemos usar función MAIL?

ola tambien puedes usar swift mailer. es muy parecido a php mailer, hay muchos tutoriales de como usarlo en tu pagina

http://swiftmailer.org/

Última edición por bullanguero8; 13/06/2013 a las 10:43 Razón: falto link
  #8 (permalink)  
Antiguo 13/06/2013, 10:54
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años
Puntos: 34
Respuesta: ¿Alternativa para quienes no podemos usar función MAIL?

Los hosting gratuitos desactivan muchas veces la función mail() para evitar que se haga spam desde ahi. Podés usar una cuenta de gmail + phpmailer es lo mejor que hay
  #9 (permalink)  
Antiguo 13/06/2013, 11:54
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: ¿Alternativa para quienes no podemos usar función MAIL?

aver queridos amigos del web
los hosting gratuitos desactivan la funcion mail y los puertos para comunicacion con los server de correos para evitar justo lo que el amigo berkeleyPunk esta queriendo hacer.
pero pensando en los usuarios soneste problema esta foxyform.com/
que permite hacer formularios i agregarlos a las paginas sin tener que configurrar casi nada.
en particular no lo uso pero tengo amigos que les funciona bien.

:)
  #10 (permalink)  
Antiguo 16/06/2013, 13:15
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Pregunta No pasa nada cuando envio mail con PHPMailer!

Señores, buen día otra vez.

Hace unos días postee algo referente a una alternativa para la función mail() --> http://www.forosdelweb.com/f18/alter...-mail-1057394/

Me recomendaron usar PHPMailer.

He encontrado varios ejemplos de cómo usar esa clase PHP. Los he intentado todos, y el resultado es el mismo: nada. Es decir, el documento php que debería mostrar un mensaje de éxito o error de envío del mensaje, no muestra nada, sólo una página en blanco, lo que me hace pensar que no lee correctamente la clase PHP.

La idea es que al dar clic a un botón, se envíe un correo a alguien.
Este HTML iría en una pagina, y el PHP en otra.

Código HTML:
Ver original
  1. <div>
  2.     <form action="/images/paginas/funcionMail.php" method="post">
  3.       <input type="submit" value="Enviar mail" />
  4.     </form>
  5.   </div>

El siguiente código lo bajé de http://www.programacion.com/articulo..._phpmailer_213
Código PHP:
<?php
  
require "/images/docs/PHPMailer/class.phpmailer.php";
  
$mail = new phpmailer();

  
$mail->PluginDir "/images/docs/PHPMailer/";

  
$mail->Mailer "smtp";
  
$mail->Host "smtp.gmail.com";
  
$mail->SMTPAuth true;
  
$mail->Username "[email protected]"
  
$mail->Password "mi_contraseña";
  
$mail->From "[email protected]";
  
$mail->FromName "Mi nombre";
  
$mail->Timeout=30;

  
$mail->AddAddress("[email protected]");

  
$mail->Subject "Prueba de phpmailer";
  
$mail->Body "<b>Mensaje de prueba mandado con phpmailer en formato html</b>";
  
$mail->AltBody "Mensaje de prueba mandado con phpmailer en formato solo texto";

  
$exito $mail->Send();

  
$intentos=1
  while ((!
$exito) && ($intentos 5)) {
    
sleep(5);
         
//echo $mail->ErrorInfo;
         
$exito $mail->Send();
         
$intentos=$intentos+1;        
   }
 
        
   if(!
$exito)
   {
    echo 
"Problemas enviando correo electrónico a ".$valor;
    echo 
"<br/>".$mail->ErrorInfo;    
   }
   else
   {
    echo 
"Mensaje enviado correctamente";
   } 
?>
Como digo, esto no funciona.

Dos preguntas:

1. ¿Por qué el PHP no muestra ni siquiera el mensaje de error?
2. ¿Qué diablos modifico para que se envíe el bendito correo?


PD. My hosting es http://byethost.com/

Última edición por berkeleyPunk; 16/06/2013 a las 13:26
  #11 (permalink)  
Antiguo 16/06/2013, 15:39
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: No pasa nada cuando envio mail con PHPMailer!

bueno sigo sugiriendo el ultimo post
Cita:
Iniciado por enlinea777 Ver Mensaje
aver queridos amigos del web
los hosting gratuitos desactivan la funcion mail y los puertos para comunicacion con los server de correos para evitar justo lo que el amigo berkeleyPunk esta queriendo hacer.
pero pensando en los usuarios con este problema esta foxyform.com/
que permite hacer formularios i agregarlos a las paginas sin tener que configurrar casi nada.
en particular no lo uso pero tengo amigos que les funciona bien.

:)
tu hosting es gratis , es muy evidente que debe de tener los puertos bloqueados asi como la funcion CURL y otras del tipo.
  #12 (permalink)  
Antiguo 16/06/2013, 17:06
 
Fecha de Ingreso: julio-2012
Mensajes: 138
Antigüedad: 11 años, 9 meses
Puntos: 4
Respuesta: No pasa nada cuando envio mail con PHPMailer!

Hola.
Que servidor local usas? AppServ, WAMP, XAMPP?
Cualquiera que sea el caso puede ser que no tienes las siguientes extensiones habilitadas en php.ini : php_sockets y php_openssl.

Cuando revises tu php.ini solo quita ; (punto y coma) para habilitar la extensión y reinicias el servidor.

Saludos.
__________________
Keep learning, someday the knowledge will be your future...
  #13 (permalink)  
Antiguo 16/06/2013, 17:12
 
Fecha de Ingreso: septiembre-2010
Mensajes: 64
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: No pasa nada cuando envio mail con PHPMailer!

No te funciona por que debes agregar algunos datos mas como $mail->Port y$mail->SMTPSecure, yo lo tengo configurado asi y funciona de maravilla:
Código PHP:
<html>
<head>
<title>Formulario Web - Configuracion de Fomulario Web usando SMTP con Autenticacion</title>


</head>
<body>



<?php

//error_reporting(E_ALL);
error_reporting(E_STRICT);
date_default_timezone_set('America/Chicago');
require_once(
'class.phpmailer.php');
//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded
$mail             = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP

$host_remoto =$_SERVER['REMOTE_HOST'];
$http_usuario_agente =$_SERVER['HTTP_USER_AGENT'];
$direccion_remota =$_SERVER['REMOTE_ADDR'];
$referenciador_http =$_SERVER['HTTP_REFERER'];
$string_busqueda =$_SERVER['QUERY_STRING'];
$pagina_actual =$_SERVER['PHP_SELF'];


/*
Por favor no cambiar nada antes de estas lineas ya que puede afectar el funcionamiento de esta aplicacion
********************
En las siguientes lineas configuraremos su conexion de envio de correo
En las siguientes lineas por favor modificar las lineas que tienen comentarios de acuerdo a sus datos
*/

$mail->Host       "smtp.gmail.com"// Su servidor SMTP. Ejemplo: mail.sunombrededominio.com
//$mail->SMTPDebug  = 2;                     // abilita el debug de SMTP (para pruebas)
                                           // 1 = errores y mensajes
                                           // 2 = solo mensajes
                                           // Si lo quita y le coloca los signos // antes de $mail desabilitara esto
                                           
$mail->SMTPAuth   true;                  // abilita la autenticacion SMTP (Requerido en Servicios con TUWEBHOST)
$mail->Host       "smtp.gmail.com"// Aqui se coloca el servidor SMTP
$mail->Port       465;                    // Aqui se coloca el puerto de conexion SMTP
$mail->Username   "[email protected]"// Aqui ustes coloca el usuario de su correo SMTP
$mail->Password   "micontraseña";        // Aqui coloca su password de su correo electronico
$mail->SMTPAuth true
$mail->SMTPSecure "ssl";
 
$mail->AddReplyTo("[email protected]""First Last");
 
$mail-> From "[email protected]";
      
$mail-> FromName "ADMINISTRADOR SEIN";    
/*

En las siguientes lineas se toma las variables que vienen desde el archivo de formulariowebejemplo.html

*/


$nombreCompleto Trim($_POST[nombre]); 
$email Trim($_POST[email]); 
$mensaje Trim($_POST[mensaje]); 


/*
EN LAS SIGUIENTES LINEAS SE CREA EL CUERPO DEL CORREO

*/
$body .= "Informacion de contacto desde su pagina web.";
$body .= "<hr>";
$Body .= "\n";
$body .= "Nombre Completo: ";
$body .= "$nombreCompleto";
$body .= "<hr>";
$Body .= "\n";
$body .= "Email: ";
$body .= "$email";
$body .= "<hr>";
$Body .= "\n";
$body .= "Comentarios: ";
$body .= "$mensaje";
$body .= "<hr>";
$body .= "<hr>";
$Body .= "\n";
$body .= "Forma de Contacto Power By : SEIN";
$body .= "<hr>";


/*
*******************************
*******************************
*******************************
*/

$mail->SetFrom($email);



$mail->Subject    "Datos enviados desde el formulario Web via STMP con Autenticacion";

$mail->AltBody    "Para ver este mensaje puede usar un programa compatible con HTML!"// optional, comment out and test

$mail->MsgHTML($body);

$address "[email protected]"//Correo Electronico al que se le estara enviando la informacion de ESTE FORMULARIO
$mail->AddAddress($address"Ventas - TSEIN"); // NO MODIFICAR ESTA LINEA SOLO EL TITULO que Dice Ventas - SEIN

$mail->AddAttachment("images/phpmailer.gif");      // quitandole los signos // al principio de la linea puede agregar un archivo adjunto a su forma de contacto


if(!$mail->Send()) {
  echo 
"Error al  enviar el Mensaje: " $mail->ErrorInfo;
  
// Aqui puede colocar codigo HTML entre los " "

} else {
  echo 
"Mensaje Enviado Correctamente!";


}

?>


</body>
</html>
  #14 (permalink)  
Antiguo 16/06/2013, 17:46
 
Fecha de Ingreso: julio-2012
Mensajes: 138
Antigüedad: 11 años, 9 meses
Puntos: 4
Respuesta: No pasa nada cuando envio mail con PHPMailer!

Tiene razon hans2488, si quieres ver exactamente que error te da, pon esta linea:
$mail->SMTPDebug = 1;
__________________
Keep learning, someday the knowledge will be your future...
  #15 (permalink)  
Antiguo 16/06/2013, 21:43
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Respuesta: No pasa nada cuando envio mail con PHPMailer!

Cita:
Iniciado por Loop29 Ver Mensaje
Hola.
Que servidor local usas? AppServ, WAMP, XAMPP?
Cualquiera que sea el caso puede ser que no tienes las siguientes extensiones habilitadas en php.ini : php_sockets y php_openssl.
Saludos.

Compañero LOOP29, uso EasyPHP ver.12.1, con Apache 2.4.2, MySQL 5.5.27 y PHP 5.4.6. Pero no sé de qué sirva esta inf, porque yo trabajo online. Aunque ciertamente no me importaría modificar el código para usarlo en local, algo es algo, si funciona. El caso es saber cómo funciona.
  #16 (permalink)  
Antiguo 16/06/2013, 21:52
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Respuesta: No pasa nada cuando envio mail con PHPMailer!

Cita:
Iniciado por enlinea777 Ver Mensaje
bueno sigo sugiriendo el ultimo post


tu hosting es gratis , es muy evidente que debe de tener los puertos bloqueados asi como la funcion CURL y otras del tipo.
Compañero ENLINEA777, pensé qué foxyform era como un servicio al que no podía modificar nada, y todo el formulario te lo daba hecho, algo así como un módulo o plug-in en Joomla. Así que me negué a utilizar foxyform, porque, aunque me oiga muy mamón, no quiero las cosas fáciles. Pero ahora veo qué es foxyform, y veo que es javascript. Bien, javascript no me es desconocido, así que voy a probarlo, y si funciona, voy a estudiarlo para entender qué hace cada parte. Gracias.
  #17 (permalink)  
Antiguo 16/06/2013, 21:57
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Respuesta: No pasa nada cuando envio mail con PHPMailer!

Cita:
Iniciado por hans2488 Ver Mensaje
No te funciona por que debes agregar algunos datos mas como $mail->Port y$mail->SMTPSecure, yo lo tengo configurado asi y funciona de maravilla: ...
Amigo HANS2488, voy a probar tu código. Ahorita ya me da mucha flojera (he pasado todo el día frente a la lap), así que lo hago mañana en la mañana y regreso para postear en caso de acierto o falla.
  #18 (permalink)  
Antiguo 17/06/2013, 08:26
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Respuesta: No pasa nada cuando envio mail con PHPMailer!

Cita:
Iniciado por hans2488 Ver Mensaje
No te funciona por que debes agregar algunos datos mas como $mail->Port y$mail->SMTPSecure, yo lo tengo configurado asi y funciona de maravilla:
...

HANS2488, probé tu código y la $~"&*^ ésta sigue sin funcionar. ¿El resultado? Nada, la misma página en blanco. He aquí el código con los cambios que hice:
Código PHP:
<?php

    error_reporting
(E_STRICT);
    
date_default_timezone_set('America/Chicago');
    require_once(
'/images/docs/PHPMailer/class.phpmailer.php'); // Pongo aquí la ruta al archivo PHP

    
$mail             = new PHPMailer();
    
$mail->IsSMTP();
    
    
$host_remoto =$_SERVER['REMOTE_HOST'];
    
$http_usuario_agente =$_SERVER['HTTP_USER_AGENT'];
    
$direccion_remota =$_SERVER['REMOTE_ADDR'];
    
$referenciador_http =$_SERVER['HTTP_REFERER'];
    
$string_busqueda =$_SERVER['QUERY_STRING'];
    
$pagina_actual =$_SERVER['PHP_SELF'];
    
        
    
$mail->Host       "smtp.gmail.com";
    
$mail->SMTPDebug 1;                      // Ni con esta línea aparece algo en pantalla.
                                               
    
$mail->SMTPAuth   true;
    
$mail->Host       "smtp.gmail.com";
    
$mail->Port       465;
    
$mail->Username   "[email protected]";   // Pongo aquí la dirección de correo que voy a utilizar para enviar el mensaje
    
$mail->Password   "mi_contrasena";       // Pongo aquí el pass para acceder a la cuenta de correo arriba mencionada.
    
$mail->SMTPAuth   true
    
$mail->SMTPSecure "ssl";
    
$mail->AddReplyTo("[email protected]""First Last"); //Pongo aquí otra dirección de correo mía.
    
$mail->From       "[email protected]"// Repito aquí la dirección de correo que utilizo para enviar el mensaje
    
$mail->FromName   "Fulano";              // Mi nombre
    
    
    
$nombreCompleto Trim($_POST[nombre]);   // Ya me aseguré que la página que tiene el formulario, sus inputs y el textarea tengan como
    
$email Trim($_POST[email]);                         // name los valores "nombre", "email" y "mensaje". Y que el método sea POST.
    
$mensaje Trim($_POST[mensaje]); 
    
    
    
$body .= "Informacion de contacto desde su pagina web.";
    
$body .= "<hr>";
    
$Body .= "\n";
    
$body .= "Nombre Completo: ";
    
$body .= "$nombreCompleto";
    
$body .= "<hr>";
    
$Body .= "\n";
    
$body .= "Email: ";
    
$body .= "$email";
    
$body .= "<hr>";
    
$Body .= "\n";
    
$body .= "Comentarios: ";
    
$body .= "$mensaje";
    
$body .= "<hr>";
    
$body .= "<hr>";
    
$Body .= "\n";
    
$body .= "Forma de Contacto Power By : SEIN";
    
$body .= "<hr>";
    
        
    
$mail->SetFrom($email);
    
    
    
    
$mail->Subject    "Datos enviados desde el formulario Web via STMP con Autenticacion";
    
    
$mail->AltBody    "Para ver este mensaje puede usar un programa compatible con HTML!";
    
    
$mail->MsgHTML($body);
    
    
$address "[email protected]";         // La dirección de correo del destinatario, pongo otra cuenta mía.
    
$mail->AddAddress($address"Ventas - TSEIN");
    
    
$mail->AddAttachment("images/phpmailer.gif");
    
    
    if(!
$mail->Send()) {
      echo 
"Error al  enviar el Mensaje: " $mail->ErrorInfo;
    
    } else {
      echo 
"Mensaje Enviado Correctamente!";
    
    
    }
?>

Última edición por berkeleyPunk; 17/06/2013 a las 08:33
  #19 (permalink)  
Antiguo 17/06/2013, 08:45
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
De acuerdo Respuesta: No pasa nada cuando envio mail con PHPMailer!

Cita:
Iniciado por enlinea777 Ver Mensaje
bueno sigo sugiriendo el ultimo post. tu hosting es gratis , es muy evidente que debe de tener los puertos bloqueados asi como la funcion CURL y otras del tipo.
Ayer tenía sueño y no vi bien. Ahora veo que tenía razón cuando en un primer momento me negué a usar FOXYFORM. Es un servicio, pues. Así no tiene chiste, no es programación web. Es como utilizar un teléfono celular, que funciona bien y está muy bonito pero uno no tiene ni idea de todo el código que se emplea para que salga o entre una llamada o un sms.

Sin embargo, funciona. Hice la prueba y me llegan los mensajes.
Para una emergencia, mejor tener FOXYFORM que un montón de código que, por la razón que se quiera, no sirve. Gracias amigo ENLINEA777.

Aunque persisto en la idea de hallar la forma de usar la función mail() o el famoso PHPMailer.

Última edición por berkeleyPunk; 17/06/2013 a las 09:13
  #20 (permalink)  
Antiguo 17/06/2013, 09:24
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: No pasa nada cuando envio mail con PHPMailer!

Cita:
Iniciado por berkeleyPunk Ver Mensaje
Ayer tenía sueño y no vi bien. Ahora veo que tenía razón cuando en un primer momento me negué a usar FOXYFORM. Es un servicio, pues. Así no tiene chiste, no es programación web. Es como utilizar un teléfono celular, que funciona bien y está muy bonito pero uno no tiene ni idea de todo el código que se emplea para que salga o entre una llamada o un sms.

Sin embargo, funciona. Hice la prueba y me llegan los mensajes.
Para una emergencia, mejor tener FOXYFORM que un montón de código que, por la razón que se quiera, no sirve. Gracias amigo ENLINEA777.

Aunque persisto en la idea de hallar la forma de usar la función mail() o el famoso PHPMailer.
Tienes toda la razón en querer armar tu propio codigo pero hay ocaciones en que no es necesario inventar la rueda de nuevo, sino que es mejor usar la que alguien hiso hace tiempo.

por experiencia se que phpmailer es super bueno, pero cuando no allas una solucion rrapida es mejor salir de eso que no te deja avanzar y despues si queda algo de tiempo, retomar lo que dejaste pendiente.

me alegra que te funcione, recuerda que los hosting gratuitos Siempre tienen una pilleria (o enganche) para que al final salgas comprando (pagando) uno.

espero que a otros tambien les benga bien esta informacion.
  #21 (permalink)  
Antiguo 17/06/2013, 09:53
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Respuesta: No pasa nada cuando envio mail con PHPMailer!

Buenas!

pues en tu codigo no veo que tengas incluido las clases que hacen el proceso de envio...
a mi me paso lo mismo en algun momento pero el problema era que las clases tenian que estar en el mismo directorio o carpeta en donde esta el phpmailer

esa fue la solucion y asi aun teniendo un host gratuito y usando ya sea gmail como yahoo se envian sin problemas los correos, y si es de pago mas que excelente...
y como dicen a lo mejor ya existe algo pero al menos para mi punto es bueno si tienes la intencion de aprender cosas nuevas experimentar para lograrlo, a lo mejor "no inventas el hilo negro" pero si aprendes como se hace y entiendes mejor la tecnologia en lugar de solo utilizarla.... esa es mi humilde opinion...

el codigo que no veo seria este
Código PHP:
include('class.smtp.php');
include(
'class.phpmailer.php'); 
espero que te sirva

saludos!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #22 (permalink)  
Antiguo 21/06/2013, 08:59
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Sonrisa Respuesta: No pasa nada cuando envio mail con PHPMailer!

Cita:
Iniciado por HalconVigia Ver Mensaje
Buenas!

pues en tu codigo no veo que tengas incluido las clases que hacen el proceso de envio...
Pues no, aun con los include tal como los pones (claro, poniendo mi ruta) sigue sin verse nada, la misma p$%& página en blanco!

Pero saben qué, estoy persuadido que, como dicen varios compañeros, la bronca ya no es la clase PHP ni la función mail(), ni nada que tenga que ver con programación. Creo que la culpa sí es de este maldito servidor gratuito. Acabo de encontrar un hosting, gratuito, que sí me da cuentas de correo gratuitas (), lo cual indica que es un servidor más accesible, con los puertos abiertos para el envío de mails.

Así que me rindo con www.byethost.com y voy a probar el código allá. Funcione o no en el nuevo hosting, regreso, posteo y doy por terminado este maldito problema. Me rindo, lo juro.

Última edición por berkeleyPunk; 21/06/2013 a las 09:06
  #23 (permalink)  
Antiguo 21/06/2013, 14:45
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Respuesta: No pasa nada cuando envio mail con PHPMailer!

bueno... pues no se a los compañeros pero a mi me dio problemas de envio poniendolo en ruta y decidi copiar las clases en donde se encuentra el script que hace el envio y con eso funciono... porque si lo ponia en la ruta "include" o cualquier otra NO funcionaba...

te lo comento para que lo tomes en cuenta... saludos!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #24 (permalink)  
Antiguo 21/06/2013, 14:54
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: No pasa nada cuando envio mail con PHPMailer!

Código PHP:
Ver original
  1. require_once('/images/docs/PHPMailer/class.phpmailer.php'); // Pongo aquí la ruta al archivo PHP

Si usan las rutas de inclusion de esta forma les generará error porque al colocar "/" al inicio buscará desde la raíz del www el arbol de directorios "images/docs/PHPMailer/class.phpmailer.php" lo cual es incorrecto este es un error muy comun al usar rutas relativas por lo que si quieren usarlas NO coloque "/" al inicio
  #25 (permalink)  
Antiguo 21/06/2013, 20:23
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Respuesta: No pasa nada cuando envio mail con PHPMailer!

Cita:
Iniciado por alex1084 Ver Mensaje
Si usan las rutas de inclusion de esta forma les generará error porque al colocar "/" al inicio buscará desde la raíz del www el arbol de directorios...

P$&+ M#"&%, por fin logré que funcionara el PHPMailer. ¡Ya recibí un mensaje a mi correo! ¡Ni cuando tuve a mi hija me emocioné tanto -y lo digo en serio! Carajo! Viva PHPMailer! Viva los malditos foros, Viva ForosDelWeb! y viva ustedes, c#&%!/=$, que me guiaron para llegar a este momento cuspide de mi vida!

Los compañeros HalconVigia Y alex1084 tenían razón: poner el documento PHP que contiene el código que gestiona el envío del mail en la misma carpeta donde está la clase PHPMailer. Si le ponemos ruta:
Código PHP:
include('/carpeta1/carpeta2/PHPMailer/class.phpmailer.php'); 
nada más no funciona.

Quiero aclarar algo. Como se me hacía muy raro que el navegador no mostrara ni siquiera un mensaje de error de envío, pensé (y esta idea ya la había posteado) que mi código PHP por alguna razón no leía la clase PHPMailer, a pesar que la ruta estaba perfecta. Así que para asegurarme que mi código la leyera, moví el archivo que contiene mi código a la carpeta PHPMailer. Y, venga, por fin apareció algo en pantalla: un error. Pero aunque fue un error, eso me dio gusto, porque corroboré mi hipótesis, a saber, que mi código no leía la clase PHPMailer, y ahora sí, después de haber movido el archivo. Como el error marcado era que la contraseña de mi correo estaba mal, al arreglarla solucioné el problema. Todo esto justo antes de leer las recomendaciones de los compañeros HalconVigia Y alex1084, de no poner ruta.

Como sea, gracias a todos, porque sin su ayuda jamás hubiera llegado a esta fase culminante de mis pininos en programación web.

SÓLO una pregunta más. Probé el código en un hosting que sí me otorga cuentas de e-mail gratuitas, como había quedado. Es ahí donde funcionó el PHPMailer. También probé en www.byethost.com y manda el siguiente error:


Invalid address: aSMTP -> ERROR: Failed to connect to server: (0)SMTP Connect() failed. Error al enviar el Mensaje: SMTP Connect() failed.


¿Manda este mensaje porque byethost.com pone más restricciones para el envío de mails que las que el otro hosting en donde sí me funcionó PHPMailer?

PD. No crean que no lo sé, exagero con toda conciencia, pero cuando un problema te viene quebrando la cabeza durante tanto tiempo, aunque sea pequeño, te alegras demasiado cuando logras solucionarlo.

Última edición por berkeleyPunk; 21/06/2013 a las 21:06
  #26 (permalink)  
Antiguo 21/06/2013, 22:23
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Respuesta: No pasa nada cuando envio mail con PHPMailer!

buenas!!

ese es un error de servidor con puertos cerrados, en ese caso te recomiendo que uses gmail para enviar tus correos... asi te liberas de problemas de ese respecto, asi sin importar en donde tengas tus scripts tus correos seran enviados ...

saludos!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!

Etiquetas: Ninguno
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 17:15.