Si tenemos problemas con el envio de mails en codestashop tenemos que comprobar:
- El mail esta correctamente en:
- codeferencias->Contacto
- Empleados->Contacto
- Modulos->Alertas por correo
- Comprobar que existen las carpetas con los ficheros de los mails de los idiomas utilizados en el codestaShop dentro de la carpeta /mails.
- Tenemos configuradas correctamente las imágenes de los logos en la configuración de la plantilla.
Puede que algunos servidores tenga deshabilitada la función mail de PHP, si es asi codestashop nos permite configurar el envio de correos mediante SMTP en Parámetros Avanzados->E-mail.
Si se usa la funcion mail() de php y no llegan los correos de prueba puede ser porque no este habilitada la funcion en el servidor que podemos comprobar subiendo un fichero en el raiz de nuestro directorio como este:
< ? 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);
?>
Sustituyendo correo y dominio por nuestros datos. Si este correo nos llega hemos de hacer unas pequeñas modificaciones en nuestros ficheros de codestashop:
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);
}
$this->setFrom("Dominio");
if (!($has_reply_to = $message->getReplyTo())) $message->setReplyTo($from);
if (!$has_reply_to[0])$message->setReplyTo($from->getAddress());