Problemas Correos SMTP

Pixefora

Aprendiz de Prestashop
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
 

Josraso

Lo cortes no quita lo valiente.
Miembro del equipo
Además he comprobado que si cambio a la función php mailer, todo funciona perfectamente.
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.
 

Pixefora

Aprendiz de Prestashop
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...
 

Pixefora

Aprendiz de Prestashop
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
 
Arriba