Foros del Web » Programando para Internet » PHP »

Error FAQ #55 && FAQ #142

Estas en el tema de Error FAQ #55 && FAQ #142 en el foro de PHP en Foros del Web. En una función creada para instrumentar phpmailer me encuentro con lo siguiente: Código PHP: $exito  =  $mail -> Send ();       $intentos = 1 ;  ...
  #1 (permalink)  
Antiguo 18/11/2008, 10:17
Avatar de C_Cornell  
Fecha de Ingreso: agosto-2008
Ubicación: Santander
Mensajes: 62
Antigüedad: 15 años, 7 meses
Puntos: 0
Error FAQ #55 && FAQ #142

En una función creada para instrumentar phpmailer me encuentro con lo siguiente:

Código PHP:

$exito 
$mail->Send();
     
$intentos=1
       while((!
$exito)&&($intentos<5)&&($mail->ErrorInfo!="SMTP Error: Data not accepted")){
       
sleep(5);
            
$exito $mail->Send();
            
$intentos=$intentos+1;                
       }
    
    if (
$mail->ErrorInfo=="SMTP Error: Data not accepted") {
       
$exito=true;
        } 
Esa ultima comparación de igualdad ==, en el código no debería ser un desigual: !=
Si no de esa manera me daría como correos enviados algunos que no han llegado, o estoy metiendo la pata enormemente???
  #2 (permalink)  
Antiguo 18/11/2008, 10:26
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 20 años, 10 meses
Puntos: 9
Respuesta: Error FAQ #55 && FAQ #142

Asi es, deberia ser != , ademas comparar cadenas de texto para este tipo de situación no es lo más recomendable, trata de utilizar booleanos.
__________________
eft0's stuff! - http://estebanfernandez.net
  #3 (permalink)  
Antiguo 18/11/2008, 10:45
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 8 meses
Puntos: 105
Respuesta: Error FAQ #55 && FAQ #142

creo que debe ser la inversa....
en la primera comparacion debe ser == (ya que si es igual a ese mensaje de error debe seguir)
y en la segunda debe ser != (ya que si es diferente a ese mensaje, quiere decir que lo envio y debe salir con true.

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #4 (permalink)  
Antiguo 18/11/2008, 10:45
Avatar de C_Cornell  
Fecha de Ingreso: agosto-2008
Ubicación: Santander
Mensajes: 62
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Error FAQ #55 && FAQ #142

Vaya pues ahora tengo mis dudas. Si el while necesita ...&&($mail->ErrorInfo!="SMTP Error: Data not accepted") Significa que mientra no sea ese error debe ejecutarse de nuevo. Vamos que si el error que se produce es ese. Lo damos por bueno, luego ese error que significa.

Mi teoria: es el error que indica que el receptor del correo no puede visualizar un body html, por lo que visualizara el body alternativo.

No se si alguien podría confirmarmelo
  #5 (permalink)  
Antiguo 18/11/2008, 10:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Error FAQ #55 && FAQ #142

Lo que dice el while es:

Mientras, $exito sea false, y los intentos sean menores a 5, y el error del mail sea diferente a "SMTP Error: Data not accepted", ejecuta el bloque.

Es decir que va a intentar enviar el mail 5 veces pero se va a parar en el caso que el error sea Data not accepted.

Saludo
  #6 (permalink)  
Antiguo 18/11/2008, 10:55
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 8 meses
Puntos: 105
Respuesta: Error FAQ #55 && FAQ #142

ese error es cuando el phpmailer no pudo hacer un envio correcto, debido a que el correo de recepcion no esta bien o problemas de servidor.

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #7 (permalink)  
Antiguo 18/11/2008, 11:02
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Error FAQ #55 && FAQ #142

Estaba por editar, pero antes consulté con San Google. Resulta que así es lo correcto, que es un bug de PHPMailer.

Cita:
Quizá lo que llame más la atención es el trato que he dado al error SMTP Error: Data not accepted. Dicho error aparece siempre que enviamos un fichero adjunto pero no debe incomodarnos ya que el mensaje llega perfectamente, se trata de un bug de la clase PHPMailer y como tal hay que tratarlo, es decir, si aparece ese error no lo tendremos en cuenta.
Información encontrada en el siguiente enlace: http://www.programacion.com/php/articulo/phpmailer/

Donde ... ¿es el mismo código? . Si pudieras darle una mirada igual para al menos incluir una URL a dicho sitio. No hay que promover el plagio del trabajo de otros.

Igual habría que consultar si dicho bug aún está presente. Veo que PHPMailer acaba de lanzar una nueva versión hace apenas unos días.

Un saludo
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #8 (permalink)  
Antiguo 18/11/2008, 11:08
Avatar de C_Cornell  
Fecha de Ingreso: agosto-2008
Ubicación: Santander
Mensajes: 62
Antigüedad: 15 años, 7 meses
Puntos: 0
Mensaje

Si Gator, tengo claro el bucle.

Pero aun tengo la duda de si ese es un error 'admisible', es decir:

Se procuce el envío del mail pero mail->send() ha devuelto false
porque se produce el error "SMTP Error: Data not accepted" que significa (tal vez, lo que dije antes) 'el e-mail se envio pero con un error'.

Y entonces utilizamos el IF ultimo para dar por bueno el resultado y devolver $exito=true.

Vamos que $exito=True si:
- $mail->send = true
or
- $mail->ErrorInfo!="SMTP Error: Data not accepted"

Vamos eso es lo que se deduce por el codigo, si asumimos que esta bien, no?

O el tipo se equivoco?

masterojitos, estas seguro que el error nos indica los que has dicho?

Que lento yo respondiendo...

jaja Gracias jam1138. Ya se me podría haber ocurrido ir a google primero, ultimamente le he cogido el gusto a forosdelweb y vengo aquí como primera opcion. En fin venga un saludo

Última edición por GatorV; 18/11/2008 a las 11:17
  #9 (permalink)  
Antiguo 18/11/2008, 11:14
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Error FAQ #55 && FAQ #142

Cita:
Iniciado por masterojitos Ver Mensaje
ese error es cuando el phpmailer no pudo hacer un envio correcto, debido a que el correo de recepcion no esta bien o problemas de servidor.
¿¿¿??? ¿Podrías ampliar esa información?

Cita:
Iniciado por C_Cornell Ver Mensaje
Que lento yo respondiendo...
Tú no preocupar .
En serio, si pudieras comparar los códigos para poner una referencia... e insisto que, si de verdad es un bug, habría que averiguar si sigue presente en nuevas versiones... :-/ pero eso ya lo dije.

Un saludo
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #10 (permalink)  
Antiguo 18/11/2008, 11:27
Avatar de C_Cornell  
Fecha de Ingreso: agosto-2008
Ubicación: Santander
Mensajes: 62
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Error FAQ #55 && FAQ #142

Habría que saber forzar ese error y hacer comprobaciones, para ver si la version que uso/usamos tiene ese bug. Claro que, no sé exactamente que representa ese error ( o intenta representar ) ni que lo causaría asi que...

Bueno yo el codigo lo saque de las FAQ´s #55 y #142, pero si, parece que el que puso esas FAQ´s se inspiro en ese enlace que pusiste.

Última edición por C_Cornell; 18/11/2008 a las 11:36
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 02:00.