Me respondo a mi mismo y espero que esta información ayude a otros
más.

Según leo en un ticket del trac de cakePHP (https://trac.cakephp.org/
ticket/4651) si se envía un mail mediante 'mail' no por SMTP el
carácter que se utiliza para separar las lineas de las cabeceras de
los correos es diferentes según el S.O que envía el correo.

Cake actualmente usa: "\r\n";
Y según el S.O debe ser:
# For Unix/Linux use "\n"
# For Windows use "\r\n"

Así que en mi caso, para no modificar el componente email de cake, he
anadido la linea siguiente en el controlador que envía el correo (en
mi caso sevidor Linux):

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

Saludos a todos,
faemino

On 5 jun, 12:12, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote:
> Hola a todos,
>
> Comento mi situación a ver si alguien se ha encontrado con lo mismo y
> me puede dar alguna idea.
>
> Estoy tratando de enviar un correo desde cakePHP mediante el
> componente "email" y todo funciona perfectamente excepto cuando la
> cuenta a la que va dirigido el correo es una cuenta de gmail. En ese
> caso el correo muestra las cabeceras del correo y no procesa el html.
> Si ese mismo correo lo envío en formato texto sucede lo mismo.
>
> // Código de ejemplo
>
> $this->Email->delivery = 'mail';
> $this->Email->to = $this->data['notes']['mail'];
> $this->Email->sendAs = 'html';
> $this->Email->subject = 'Envío de anotación';
> $this->Email->replyTo = '[EMAIL PROTECTED]';
> $this->Email->from = '[EMAIL PROTECTED]';
> $this->Email->layout = 'nota';
> $this->Email->template = 'mail_nota';
> $this->Email->send();
>
> // Fin código ejemplo
>
> He hecho diferentes pruebas sin ninguna mejoría, excepto si dejo de
> usar el componente de cakePHP y directamente envío el correo con la
> función mail() de PHP. En ese caso los correos se reciben
> perfectamente.
>
> // Código de ejemplo
>
> $from = '[EMAIL PROTECTED]';
> $charset = 'UTF-8';
> $subject = 'Asunto' . "\n";
> $to = '[EMAIL PROTECTED]';
> $body = '<p><strong>Esto es el cuerpo</strong></p>';
> $headers = "From: ".$from."\n"
> . "Content-Type: text/html; charset=$charset; format=flowed\n"
> . "MIME-Version: 1.0\n"
> . "Content-Transfer-Encoding: 8bit\n"
> . "X-Mailer: PHP\n";
> mail($to,$subject, $body,$headers);
>
> // Fin código ejemplo
>
> He mirado el grupo de google tanto en español como en inglés y el trac
> de cake sin ninguna pista.
> Según he visto en algún comentario de la documentación de la función
> mail de PHP (php.net), es necesario acabar las lineas de las cabeceras
> de un correo con un "\n" extra para las cuentas de gmail.
> He hecho ese cambio en el componente email de cakePHP pero sigue sin
> funcionar.
>
> No se, ando un poco perdido :-)
> Trataré de hacer esta consulta tambien en el grupo en inglés, pero mi
> dominio del idioma no es tanto como para hacerla con la suficiente
> claridad.
>
> Como infomación final, decir que estoy usando la RC de cakePHP (recien
> salida del horno) pero esta situación me sucedía con la beta y las
> nightbuilds.
>
> Saludos a todos,
> faemino
--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a [email protected]
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~----------~----~----~----~------~----~------~--~---

Responder a