Foros del Web » Programando para Internet » PHP »

Problema extrañisimo con phpmailer

Estas en el tema de Problema extrañisimo con phpmailer en el foro de PHP en Foros del Web. Estoy teniendo un problema digno de un capitulo de "La dimension desconocida", sucede que estoy usando phpmailer y todos los metodos y parametros los tengo ...
  #1 (permalink)  
Antiguo 24/03/2011, 00:44
 
Fecha de Ingreso: febrero-2009
Mensajes: 151
Antigüedad: 15 años, 2 meses
Puntos: 1
Problema extrañisimo con phpmailer

Estoy teniendo un problema digno de un capitulo de "La dimension desconocida", sucede que estoy usando phpmailer y todos los metodos y parametros los tengo guardado en un archivo donde tengo las funciones, el archivo se llama funciones.php y los metodos y propiedades los tengo en una funcion llamada phpmailer, asi cada vez que la deseo usar solo la llamo con:

Código PHP:
phpmailer(); 
y listo, hasta ahi todo bien, el tema es que cuando hago el include

Código PHP:
include ('funciones.php'); 
¡NO FUNCIONA! y me da elsiguiente error:

Fatal error: Call to undefined method SMTP::StartTLS() in /home/yosecom1/public_html/phpmailer/class.phpmailer.php on line 803

cuando guardo el archivo dentro de una carpeta y cambio el include a:

Código PHP:
include ('../funciones.php'); 
¡SI FUNCIONAAAA!, en ese momento es cuando suena la musica de la dimencion desconocida "titutitu titutitu abran esta puerta con la llave de la imaginacion..."

Alguien tiene alguna idea de que es lo que puede estar sucediendo?, asi aclaramos este misterio. saludos
  #2 (permalink)  
Antiguo 24/03/2011, 00:59
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema extrañisimo con phpmailer

Problemas de ruta, usa rutas absolutas para los includes y no vas a tener problema alguno.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 24/03/2011, 09:21
 
Fecha de Ingreso: febrero-2009
Mensajes: 151
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Problema extrañisimo con phpmailer

Cita:
Iniciado por abimaelrc Ver Mensaje
Problemas de ruta, usa rutas absolutas para los includes y no vas a tener problema alguno.
Hola abimaelrc, gracias por intentar ayudarme, te comento que he echo lo que me dices pero el problema continua, por otro lado te comento que al parecer el include funciona perfecto porque llamo a otras funciones que estan dentro de ese include y las ejecuta sin problema por lo que me parece que el problema no esta ahi sino mas bien en algo del phpmailer, lo raro es que cuando llamo a la funcion phpmailer desde una carpeta funcione, pero cuando lo hago desde el mismo nivel no, si coloco:

Código PHP:
$mail->SMTPDebug  2
me muestra:

SMTP -> FROM SERVER: 220 mx.google.com ESMTP c39sm12775anc.7 SMTP -> FROM SERVER: 250-mx.google.com at your service, [69.175.8.90] 250-SIZE 35882577 250-8BITMIME 250-STARTTLS 250-ENHANCEDSTATUSCODES 250 PIPELINING
Fatal error: Call to undefined method SMTP::StartTLS() in /home/yosecom1/public_html/phpmailer/class.phpmailer.php on line 803

La verdad que no entiendo na!. Espero puedan darme otra idea. Saludos
  #4 (permalink)  
Antiguo 24/03/2011, 10:10
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema extrañisimo con phpmailer

¿Cómo haz hecho sobre las rutas absolutas?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 24/03/2011, 10:28
 
Fecha de Ingreso: febrero-2009
Mensajes: 151
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Problema extrañisimo con phpmailer

Cita:
Iniciado por abimaelrc Ver Mensaje
¿Cómo haz hecho sobre las rutas absolutas?
Probe poniendo:

Código HTML:
http://www.dominio.com/funciones.php
Código HTML:
/home/yosecom1/public_html/phpmailer/funciones.php
Código HTML:
/usr/bin/php /home/yosecom1/public_html/funciones.php
y con ninguno de los 3 funciona
  #6 (permalink)  
Antiguo 24/03/2011, 10:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema extrañisimo con phpmailer

¿porque no muestras el famoso código desconocido de funciones.php?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 24/03/2011, 10:46
 
Fecha de Ingreso: febrero-2009
Mensajes: 151
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Problema extrañisimo con phpmailer

Cita:
Iniciado por pateketrueke Ver Mensaje
¿porque no muestras el famoso código desconocido de funciones.php?
Si!, no hay ningun problema, no tiene nada extraordinario, es lo mismo de siempre, esta seria la funcion phpmailer:

Código PHP:
function phpmailer(){
         
        global 
$mail;
        
        require(
"phpmailer/class.phpmailer.php");
        
$mail = new PHPMailer(true);
        
$mail->IsSMTP();
        try {
            
$mail->SMTPDebug  2;
            
$mail->CharSet   "UTF-8";                  // enable SMTP authentication
            
$mail->SMTPAuth   true;                  // enable SMTP authentication
            
$mail->SMTPSecure "tls";                 // sets the prefix to the servier
            
$mail->Host       "smtp.gmail.com";      // sets GMAIL as the SMTP server
            
$mail->Port       587;                   // set the SMTP port for the GMAIL server
            
$mail->Username   "uduario";  // GMAIL username
            
$mail->Password   "contraseña";            // GMAIL password
            
$mail->AddReplyTo('responder a');

              
$mail->SetFrom('de');
              
$mail->Timeout=30;
              
$mail->ClearAddresses();
              
$mail->MsgHTML($body);

              
            } catch (
phpmailerException $e) {
              echo 
$e->errorMessage(); //Pretty error messages from PHPMailer
            
} catch (Exception $e) {
              echo 
$e->getMessage(); //Boring error messages from anything else!
        
}


Obiamente tanto

Código HTML:
          $mail->AddAddress("");

	  $mail->Subject = "";
	  
	  $mail->Body ="";
	  
	  $mail->Send();
Las seteo cuando llamo a la funcion phpmailer, porque para cada caso cambia.
  #8 (permalink)  
Antiguo 24/03/2011, 10:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema extrañisimo con phpmailer

entonces entiendo que el problema no lo tienes al incluir funciones.php, sino el require que hay dentro de dicha función!!
Código PHP:
require("/aqui/deberias/usar/la/ruta/absoluta/a/class.phpmailer.php"); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 24/03/2011, 11:11
 
Fecha de Ingreso: febrero-2009
Mensajes: 151
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Problema extrañisimo con phpmailer

Cita:
Iniciado por pateketrueke Ver Mensaje
entonces entiendo que el problema no lo tienes al incluir funciones.php, sino el require que hay dentro de dicha función!!
Código PHP:
require("/aqui/deberias/usar/la/ruta/absoluta/a/class.phpmailer.php"); 
he ralizado como me indicas y paso a comentarte

con:

http://www.dominio.com/phpmailer/class.phpmailer.php

error

Código HTML:
Fatal error: Class 'PHPMailer' not found in /home/yosecom1/public_html/funciones.php on line 113

con:

/usr/bin/php /home/yosecom1/public_html/phpmailer/class.phpmailer.php

error:

Código HTML:
Warning: require(/usr/bin/php /home/yosecom1/public_html/phpmailer/class.phpmailer.php) [function.require]: failed to open stream: No such file or directory in /home/yosecom1/public_html/funciones.php on line 112

Fatal error: require() [function.require]: Failed opening required '/usr/bin/php /home/yosecom1/public_html/phpmailer/class.phpmailer.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/yosecom1/public_html/funciones.php on line 112
con:
/home/yosecom1/public_html/phpmailer/class.phpmailer.php

error (el mismo de siempre):

Código HTML:
SMTP -> FROM SERVER: 220 mx.google.com ESMTP f5sm2837893ybh.13 SMTP -> FROM SERVER: 250-mx.google.com at your service, [69.175.8.90] 250-SIZE 35882577 250-8BITMIME 250-STARTTLS 250-ENHANCEDSTATUSCODES 250 PIPELINING
Fatal error: Call to undefined method SMTP::StartTLS() in /home/yosecom1/public_html/phpmailer/class.phpmailer.php on line 803
extraño no??

Última edición por dunga007; 24/03/2011 a las 11:18
  #10 (permalink)  
Antiguo 24/03/2011, 11:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema extrañisimo con phpmailer

no, nada extraño...

una ruta absoluta es como la última que colocas, y eso esta bien... pero, el problema radicaría entonces dentro de la misma clase de PHPMailer, que de estar seguro debe incluir algún script como class.smtp.php o algo así...

¿cierto?

entonces te convendría editar también dicho script, y sobre todo: revisar que las dependencias existan donde se describen, si algo te hace falta es por ello que no se carga, y de ahí el error!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 24/03/2011, 12:06
 
Fecha de Ingreso: febrero-2009
Mensajes: 151
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Problema extrañisimo con phpmailer

Cita:
Iniciado por pateketrueke Ver Mensaje
no, nada extraño...

una ruta absoluta es como la última que colocas, y eso esta bien... pero, el problema radicaría entonces dentro de la misma clase de PHPMailer, que de estar seguro debe incluir algún script como class.smtp.php o algo así...

¿cierto?

entonces te convendría editar también dicho script, y sobre todo: revisar que las dependencias existan donde se describen, si algo te hace falta es por ello que no se carga, y de ahí el error!!
Perooooo..... si hubiera un error en la clase o algo asi no deberi funcionar nunca cuando lo utilizo y lo curioso es que coloco el archivo dentro de una carpeta y en lugar de poner:

Código HTML:
include ('manu_sc_fns.php');
pongo

Código HTML:
include ('../manu_sc_fns.php');
logicamente porque el archivo cambio de lugar y wuala! funciona perfectamente!!.
  #12 (permalink)  
Antiguo 24/03/2011, 12:13
 
Fecha de Ingreso: noviembre-2010
Mensajes: 1.242
Antigüedad: 13 años, 5 meses
Puntos: 73
Respuesta: Problema extrañisimo con phpmailer

¿Y no será que no está configurado tu servidor para enviar desde smpt?
__________________
:)
  #13 (permalink)  
Antiguo 24/03/2011, 12:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema extrañisimo con phpmailer

la verdad es impreciso de saber, puesto a que parece que no tienes el reporte de errores activado:
Código PHP:
error_reporting(E_ALL);
ini_set('display_errors'1); 
¿o si?

intenta agregar dichas lineas al inicio de tu script funciones.php, ejecuta todo de nuevo, y cuenta lo que sucede...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 24/03/2011, 12:26
 
Fecha de Ingreso: febrero-2009
Mensajes: 151
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Problema extrañisimo con phpmailer

Cita:
Iniciado por pateketrueke Ver Mensaje
la verdad es impreciso de saber, puesto a que parece que no tienes el reporte de errores activado:
Código PHP:
error_reporting(E_ALL);
ini_set('display_errors'1); 
¿o si?

intenta agregar dichas lineas al inicio de tu script funciones.php, ejecuta todo de nuevo, y cuenta lo que sucede...
corregi un error que me daba sobre el body y me sigue diciendo:

Código HTML:
SMTP -> FROM SERVER: 220 mx.google.com ESMTP 8sm87293iba.38 SMTP -> FROM SERVER: 250-mx.google.com at your service, [69.175.8.90] 250-SIZE 35882577 250-8BITMIME 250-STARTTLS 250-ENHANCEDSTATUSCODES 250 PIPELINING
Fatal error: Call to undefined method SMTP::StartTLS() in /home/yosecom1/public_html/phpmailer/class.phpmailer.php on line 803

Última edición por dunga007; 24/03/2011 a las 12:38
  #15 (permalink)  
Antiguo 24/03/2011, 13:02
 
Fecha de Ingreso: febrero-2009
Mensajes: 151
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Problema extrañisimo con phpmailer

Hice una nueva prueba, cree solo un archivo en donde coloco todos los datos necesarios para enviar con phpmailer, el tema es el siguiente, si coloco este archivo en la misma carpeta en donde se encuentra class.phpmailer.php y hago:

Código PHP:
require("class.phpmailer.php"); FUNCIONA 
si lo coloco dentro de una carpeta distinta y hago:

Código PHP:
require("../phpmailer/class.phpmailer.php"); FUNCIONA 
peeroooooo si lo coloco al mismo nivel que la carpeta phpmailer y hago:

Código PHP:
require("phpmailer/class.phpmailer.php"); NO FUNCIONA!! 
en el ultimo caso me da exactamente el mismo error que antes

Código HTML:
SMTP -> FROM SERVER: 220 mx.google.com ESMTP wu1sm85974icb.22 SMTP -> FROM SERVER: 250-mx.google.com at your service, [69.175.8.90] 250-SIZE 35882577 250-8BITMIME 250-STARTTLS 250-ENHANCEDSTATUSCODES 250 PIPELINING
Fatal error: Call to undefined method SMTP::StartTLS() in /home/yosecom1/public_html/phpmailer/class.phpmailer.php on line 803
Asique indudablemente el error esta ahi, pero el problema es que no se como se corrige!
  #16 (permalink)  
Antiguo 24/03/2011, 13:07
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema extrañisimo con phpmailer

El error te dice que no encuentra el método en la clase SMTP. Verifica que hayas bajado la última actualización y que estés programando conforme a esa actualización.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #17 (permalink)  
Antiguo 24/03/2011, 13:15
 
Fecha de Ingreso: febrero-2009
Mensajes: 151
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Problema extrañisimo con phpmailer

Cita:
Iniciado por abimaelrc Ver Mensaje
El error te dice que no encuentra el método en la clase SMTP. Verifica que hayas bajado la última actualización y que estés programando conforme a esa actualización.
Si, te confirmo que he corroborado lo que indicas, si te fijas en mi anterior mensaje comento como de acuerdo a donde ubique el archivo desde donde hago un require a class.phpmailer.php, funciona perfectamente o no, es realmente muy extraño.

P/D: he probado tambien con ruta absoluta

/home/yosecom1/public_html/phpmailer/class.phpmailer.php

y el resultado ha sido exactamente el mismo, es como si el problema se presentara de acuerdo a donde coloque el script
  #18 (permalink)  
Antiguo 24/03/2011, 14:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema extrañisimo con phpmailer

¿porque no haces caso?

de verdad, revisa el script de class.phpmailer.php y busca si hace un require/include interno... quizá ahí esté la clave del problema...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #19 (permalink)  
Antiguo 24/03/2011, 15:10
 
Fecha de Ingreso: febrero-2009
Mensajes: 151
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Problema extrañisimo con phpmailer

Cita:
Iniciado por pateketrueke Ver Mensaje
¿porque no haces caso?

de verdad, revisa el script de class.phpmailer.php y busca si hace un require/include interno... quizá ahí esté la clave del problema...
Listoooo!!!, ya encontre el problema!!, gracias pateketrueke, resulta que buscque en el archivo como me indicaste y encontre que hacia un require como indicaste pero tenia una variable delante, por lo que mire las propiedades en la pagina oficial de phpmailer y descubri que existe $mail->PluginDir y bueno... resuelto el misterio, una vez mas gracias a todos!!

Etiquetas: 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 00:06.