¿Prestashop no te envía correos sin razón aparente de error? Acá la solución!
Prestashop es uno de los más populares sistemas de ventas en línea. Es bastante estable y aunque no hay muchos –themes- gratuitos es lo suficientemente estable y personalizable para ser una excelente opción al momento de querer montar nuestra propia tienda virtual. Sin embargo tiene una dificultad y es que es TAN grande que en ocasiones corregir un error o adecuar algo a nuestras propias expectativas puede ser un tanto difícil. Esta entrada te muestra la solución a un problema que me tuvo rondando por varios días… En ocasiones cuando instalamos un –prestashop- desde cero, este envía algunos correos y otros no.
El error ocurre cuando notamos como anomalía que recibimos correos como los de contacto, pero al momento del sistema intentar mandar los correos de confirmación del pedido para el cliente no sucede nada. –Prestashop- dice que envía el correo pero al cliente no le llega.
El problema se debe a una incompatibilidad de nuestro hosting con algunas cabeceras adicionales al intentar enviar el correo, o también por que el campo “De:” no coincide con el de nuestro dominio.
Antes que nada prueba que tú hosting te permite enviar correos. Para ello crea un archivo llamado correo.php y coloca lo siguiente:
1: <?php
2: if(mail('tucorreo@tudominio.com','Papa rellena',' Estoy probando que llega el correo'))
3: echo 'El correo fue enviado satisfactoriamente';
4: else
5: echo 'Rayos! el correo no fue enviado';
6: ?>
Si tu ves el mensaje de “El correo fue enviado satisfactoriamente” procede entonces con lo siguiente:
Solución:
En /tools/swift/Swift/Message.php linea #79
Cambia:
1: $this->setFrom("");
Por:
1: $this->setFrom("tucorreo@tudominio.com");
En /tools/swift/Swift.php after linea 370
Cambia:
1: if (!($has_reply_to = $message->getReplyTo())) $message->setReplyTo($from);
Por:
1: if (!$has_reply_to[0])
2: $message->setReplyTo($from->getAddress());
Has una prueba y si finalmente si todavía no llegan los correos:
En /tools/swift/Swift/Plugin/MailSend.php linea # 159
Coloca:
1: $params = "";
Espero que te haya sido de utilidad. Agradezco a –Presto Change- por la información.
Visita el articulo original: http://www.presto-changeo.com/content/9-fix-email-problems
Related posts:










Me has salvado la vida, 3 puntos colega.
nada, a mi me sigue sin enviar correos, ni enviar a un amigo y el apartado contacto..
Ole por ti!!! muchisimas gracias!!!
Con mucho gusto
Hombre, muchas gracias por su ayuda el problema es que ya cambie el codigo en los archivos .php y sigue ocurriendo lo mismo me sale un mensaje en mi correo de soporte que dice “Mail Delivery System
para usuario
mostrar detalles 14:32 (0 minutos antes)
A message that you sent was rejected by the local scanning code that
checks incoming messages on this system. The following error was given:
“Relaying not permitted”
—— This is a copy of your message, including all the headers. ——
Received: from bavacl by server18.namecheaphosting.com with local (Exim 4.69)
(envelope-from )
id 1OiY5N-0003jm-6B
for isayqv@hotmail.com; Mon, 09 Aug 2010 15:32:37 -0400
To: Isay Quiroga .
estoy bloqueado por esto les agradeceria me ayudaran, yo recivo los mail de pedido pero mi cliente no recive su copia de lo que solicito.
Gracias por su ayuda
Bueno en primer lugar te agradezco por tomarte el tiempo de comentar, ahora bien respecto a tú problema parece ser más de parte de tu proveedor, te lo digo por el mensaje que tienes, es decir “A message that you sent was rejected by the local scanning code” debes tener en cuenta al momento de realizar la configuración de tú prestashop cosas como la dirección desde donde estas haciendo los envíos, si es una dirección que realmente existe o no, también debes considerar la configuración del registro MX de tú DNS, o inclusive podríamos pensar en configurar de forma correcta las llaves SPF para que no reboten los correos. Para este momento no sé exactamente si aun tienes el problema de todos modos este es mi correo, quedo atento si aun necesitas colaboración con el asunto.
Con mucho gusto manoletux, cuando necesites algo más solo pasa