Jump to content

Error al enviar correo en prestashop 1.7.7.5 - Attempted to load class "Mail" from namespace "PrestaShop\PrestaShop\Adapter\Entity". Did you forget a "use" statement for another namespace?


atodo color

Recommended Posts

Necesito que alguien pueda ayudarme, hace unos días que tengo este problema y no encuentro solución.

Los mails no salen y cuando hago la prueba de correo SMTP queda cargando y no pasa nada.

El modo depuración me tira el siguiente error

Attempted to load class "Mail" from namespace "PrestaShop\PrestaShop\Adapter\Entity".
Did you forget a "use" statement for another namespace?

Symfony\Component\Debug\Exception\ClassNotFoundException

in src/Adapter/Email/EmailConfigurationTester.php (line 90)

            ['<', '>', '"', '&'],

            ['<', '>', '"', '&'],

            Tools::htmlentitiesUTF8($password)

        );

        $result = Mail::sendMailTest(

            Tools::htmlentitiesUTF8($smtpChecked),

            Tools::htmlentitiesUTF8($config['smtp_server']),

            Tools::htmlentitiesUTF8($content),

            Tools::htmlentitiesUTF8($subject),

            Tools::htmlentitiesUTF8('text/html'),

EmailConfigurationTester->testConfiguration(array('send_email_to' => 

EmailController->sendTestAction(object(Request))in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php (line 151)

HttpKernel->handleRaw(object(Request), 1)in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php (line 68)

HttpKernel->handle(object(Request), 1, false)in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php (line 200)

Kernel->handle(object(Request), 1, false)in adminatodocolor/index.php (line 82)

 

Ya he instalado el módulo email alerts y sigue con el mismo problema. 

 

 

Sin título.jpg

cargando.jpg

Link to comment
Share on other sites

Has modificado recientemente la versión del PHP en tu servidor ¿?.

Revisa el archivo

src/Adapter/Email/EmailConfigurationTester.php

para ver si efectivamente incluye el use del la entidad

use PrestaShop\PrestaShop\Adapter\Entity\Mail;

en la parte de arriba debajo del namespace

namespace PrestaShop\PrestaShop\Adapter\Email;

 

Link to comment
Share on other sites

He probado con varias versiones para ver si era ese el problema y no se ha solucionado, incluso las otras versiones tiraban otros errores, por lo que dejé la que funciona bien, en este caso 7.2FPM

También miré si estaba el USE y parece estar bien

 

Una cosa que hice para probar, fue instalar la versión de prestashop 1.7 actual en Localhost de xampp y cargar el thema actual que estoy usando para ver si generaba algún problema y parece funcionar muy bien. los correos salen y todo anda normal. No se si hay posibilidad de copiar archivos desde el Localhost y reemplazarlos en mi servidor para solucionar el error

mailconftes.jpg

Link to comment
Share on other sites

Amigo pero será que la clase Mail realmente existe en tus archivos? Revisa que exista en /classes/Mail.php porque a lo mejor estamos buscando o intentando arreglar el problema donde no es.

NOTA: Si es posible mover archivos puntuales desde local a la nube. Siempre y cuando sea la misma versión de Prestashop o un archivo compatible.

  • Like 1
Link to comment
Share on other sites

3 minutes ago, ExpertoPrestaShop said:

Amigo pero será que la clase Mail realmente existe en tus archivos? Revisa que exista en /classes/Mail.php porque a lo mejor estamos buscando o intentando arreglar el problema donde no es.

NOTA: Si es posible mover archivos puntuales desde local a la nube. Siempre y cuando sea la misma versión de Prestashop o un archivo compatible.

En la carpeta raiz/classes no existía ningún archivo Mail.php.. Lo acabo de agregar desde la copia de la misma versión que tenia en el servidor local pero sigue igual.
Acabo de hacer una copia de seguridad para actualizar la versión de Prestashop. Cuando termine de actualizar informo que pasó

Link to comment
Share on other sites

3 minutes ago, atodo color said:

En la carpeta raiz/classes no existía ningún archivo Mail.php.. Lo acabo de agregar desde la copia de la misma versión que tenia en el servidor local pero sigue igual.
Acabo de hacer una copia de seguridad para actualizar la versión de Prestashop. Cuando termine de actualizar informo que pasó

Pues esa es la causa. Pero si faltaba ese archivo, quien sabe cuantos archivos más falten, así que si te recomendaría hacer un upgrade de tu PS. No te olvides de vaciar la cache luego de hacer los cambios para que se regenere el índice de clases de Symfony. Suerte!!

Edited by ExpertoPrestaShop
typo (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...