No funciona el correu a Prestashop 1.5

prestashop

No funciona el correu a Prestashop 1.5

Si tenim problemes amb l’enviament de mails en Prestashop hem de comprovar:

07

El mail està correctament a:
Preferències-> Contacte
Empleats-> Contacte
Mòduls-> Alertes per correu
Comprovar que existeixen les carpetes amb els fitxers dels mails dels idiomes utilitzats en el PrestaShop dins de la carpeta / mails.
Tenim configurades correctament les imatges dels logos en la configuració de la plantilla.

Potser alguns servidors tingui desactivada la funció mail de PHP, si és així Prestashop ens permet configurar l’enviament de correus mitjançant SMTP en Paràmetres Avançats-> Correu electrònic.

Si es fa servir la funció mail () del PHP i no arriben els correus de prova pot ser perquè no estigui habilitada la funció al servidor que podem comprovar pujant un fitxer en la partició arrel del nostre directori com aquest:

< ? php
// El mensaje
$mensaje = “Línea 1\nLínea 2\nLínea 3”;
// En caso de que cualquiera de las líneas sea más larga de 70 caracteres,
// debe usarse wordwrap()
$mensaje = wordwrap($mensaje, 70);
// Send
mail(‘correo@dominio.com‘, ‘Mi título’, $mensaje);
?>

Substituint correu i domini pels nostres dades. Si aquest correu ens arriba hem de fer unes petites modificacions en els nostres fitxers de prestashop:
El fitxer tools \ swift \ Swift \ Plugin \ MailSend.php fa una comprovació de manera segur que no funciona pel que el millor és treure-:

 

public function doMail($to, $subject, $message, $headers, $params=”)
{
$original_from = @ini_get(“sendmail_from”);
@ini_set(“sendmail_from”, $this->returnPath);
$headers = $headers->build();
//if (!ini_get(“safe_mode”)) $success = mail($to, $subject, $message, $headers, $params);
// else
$success = mail($to, $subject, $message,$headers);
if (!$success)
{
@ini_set(“sendmail_from”, $original_from);
throw new Swift_ConnectionException(“Sending failed using mail() as PHP’s default mail() function returned boolean FALSE.”);
}
@ini_set(“sendmail_from”, $original_from);
}
Si amb això encara no funciona ens anem al fitxer tools \ swift \ Swift \ Message.php i en la línia setFrom posem el nostre domini:
$this->setFrom(“Dominio”);
Si con esto sigue sin funcionar en el fichero tools\swift\Swift\Swift.php buscamos la linea:
if (!($has_reply_to = $message->getReplyTo())) $message->setReplyTo($from);
Y justo detrás añadimos la linea :
if (!$has_reply_to[0])$message->setReplyTo($from->getAddress());
Amb tot això hauria de funcionar.Amb tot això hauria de funcionar.