Problemas Correos SMTP

Tema en 'Errores o fallos en Prestashop' iniciado por Pixefora, 16/4/18.

Etiquetas:
  1. Pixefora

    Pixefora Aprendiz de Prestashop

    5
    0
    1
    Tengo un problema con mi tienda prestashop, que viene sucediendo desde hace 1 mes aproximadamente:

    Cuando un cliente hace un pedido, o al utiliza el formulario de contacto, o al tratar de reenviar un pedido a un cliente, no llega nunca el correo:
    "An error occurred while sending e-mail to the customer."
    Pero esto solo pasa A VECES. Puede suceder que durante 3 días todo vaya bien, y al cuarto durante 5 horas mande 1 correo de cada 100.

    He consultado a los administradores del servidor y me dicen que el servicio SMTP va todo bien.

    Además he comprobado que si cambio a la función php mailer, todo funciona perfectamente.

    ¿A alguien le ha sucedido algo similar? Alguna idea.

    Gracias
     
  2.  
    Comunidad Prestashop orgullosamente patrocinada por el hosting prestashop de FactoriaDigital.com con soporte en español.
  3. Pixefora

    Pixefora Aprendiz de Prestashop

    5
    0
    1
    Perdón, olvidé decir la versión de PS:
    1.6.1.18
     
  4. Josraso

    Josraso Lo cortes no quita lo valiente. Miembro del equipo

    706
    51
    28
    Te iva comentar justo esto, que la funcion php mailer va mucho mejor aparte de ser lo recomendado, bajo mi experiencia si no es sumamente obligatorio nunca uso la funcion SMTP, por lo mismo que comentas a veces da error.
     
  5. Pixefora

    Pixefora Aprendiz de Prestashop

    5
    0
    1
    Gracias por contestar.

    El problema es que se usa mailing para carros abandonados, y me han comentado que puede ser un problema al mandar muchos mails por php al correr el riesgo de que entren en spam...
     
  6. Pixefora

    Pixefora Aprendiz de Prestashop

    5
    0
    1
    Finalmente el problema era spam, el problema era averiguar que habia detrás del error.

    Para ello debes editar classes/Mail.php, y sobre la linea 405, despues de :

    PHP:
    catch (Swift_SwiftException $e) {
                
    PrestaShopLogger::addLog(
                    
    'Swift Error: '.$e->getMessage(),
                    
    3,
                    
    null,
                    
    'Swift_Message'
                
    );

    Añadir una orden para que lo guarde en el log:
    PHP:
        $logger = new FileLogger(0); //0 == nivel de debug. Sin esto logDebug() no funciona.
                
    $logger->setFilename(_PS_ROOT_DIR_."/log/debug.log");
                
    $logger->logDebug("ERROR ".$e->getMessage());
    Finalmente, cuando vuelva a dar error el mail, puedes ir a log/debug.log y ahí podras ver que está pasando, en mi caso:
    *DEBUG* 2018/04/27 - 11:30:03: ERROR Expected response code 250 but got code "550", with message "550 5.2.0 BzhWf26a9mCYa Spam Rejected
     
  7. Pixefora

    Pixefora Aprendiz de Prestashop

    5
    0
    1
    Me comuniqué con el servidor y en un día estaba resuelto.