CakePHP: Envío de correos a cuentas de gmail

11/06/2008

Me he encontrado con un problema a la hora de enviar correos mediante el component email a cuentas de correo de gmail. Los correos enviados a esas cuentas no interpretan correctamente las cabeceras y éstas se ven luego en el cuerpo del correo y si el correo es en formato html, éste no se interpreta y se ve el código mezclado con el contenido.

El problema se origina en cómo se especifica el salto de linea para las cabeceras de los correos. Cada Sistema Operativo tiene una manera diferente de hacerlo y dependiendo de dónde esté alojado nuestro script, deberemos especificar cómo realizar el salto de linea.
CakePHP usa por defecto: “\r\n”
Y según el S.O debe ser:

  • Para Unix/Linux: “\n”
  • Para Windows: “\r\n”

Así que en mi caso, que mi script corre en un Linux, debí especificarle que usara un “\n”. ¿Cómo y dónde?. En la llamada de envío de correos en el controlador:

$this->Email->_newLine = "\n";

Podéis encontrar más información al respecto en el siguiente hilo del grupo de CakePHP en español.

No comments yet.

Write a comment: