Cakephp y envio de emial con PHPMAILER

329 views
Skip to first unread message

Jhonatan Silva Orrego

unread,
May 4, 2011, 3:42:26 PM5/4/11
to cakep...@googlegroups.com
Buenas tardes a todos,

tengo un pequeño problema con el EmailComponent que cree para lograr enviar correos desde cake haciendo uso de PHPMAILER y SMTP.

el problema que tengo que es que puedo enviar el mail correctamente, puedo adjuntar archivos sin problemas y esas cosas pero el body que me esta llegando en el cuerpo del mail me esta llegando duplicado, es como si renderizara la vista dos veces y ese contenido es lo que me envía en el cuerpo.



Básicamente en el componente en la función send() del mailer estoy cargando el body del mail con la siguiente función 

    $mail->Body    = $this->bodyHTML(); 


function bodyHTML(){
      ob_start();
      $temp_layout = $this->controller->layout;
      $this->controller->layout = 'email';  //  HTML wrapper for my html email in /app/views/layouts 
      $mail=$this->controller->render($this->template . '_html');       
      $this->controller->layout = $temp_layout; 
      $mail = ob_get_clean();  //SI DEJO ESTA LINEA EL BODY DEL MAIL QUEDARA VACIO PERO SI LA OMITO EL BODY DEL MAIL LLEGA DOS VECES                   //EN EL MISMO MAIL
      return $mail;
    }


Tengo bien creadas la vistas y el loyut y no se como corregir esto en mi controlador simplemente estoy instanciando el componente Mail y estoy enviando el mail de esta forma


         $this->Email->template = 'testmail';
         $this->Email->to = 'des...@gmail.com'; 
         $this->Email->subject = 'mail de prueba'; 
         $this->Email->attach('/ruta/file.pdf', 'data.pdf'); 
         $result = $this->Email->send();


Agradezco alguna ayuda 


Mucha suerte

Debian     Jhonatan Silva Orrego
     Programador web
  
  Movil    316 876 99 00
    Oficina  454 72 81  

    La caja decia “Requiere Win98" o superior. Así que  instale Linux.

 

Twitter

Geneller Naranjo

unread,
May 4, 2011, 4:14:55 PM5/4/11
to cakep...@googlegroups.com
porque no buscas si hay alguna variable con el valor de lo que se muestra en la vista??

por ejemplo, $this->viewVars tiene las variables que luego se ponen en la vista, tal vez haya algo que tenga el "texto" que se imprime en la vista,

en el beforeRender del controller podrías poner un log para revisar cuantas veces está pasando por ahí, mmm no se, son formas que se me ocurren para ir haciendo tracking.

suerte con eso !!


2011/5/4 Jhonatan Silva Orrego <jhos...@gmail.com>
--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP en Español" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a cakep...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a cakephp-esp...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/cakephp-esp?hl=es.



--
Cordialmente.
Geneller Naranjo Alzate.

Jhonatan Silva Orrego

unread,
May 4, 2011, 4:32:31 PM5/4/11
to cakep...@googlegroups.com
Viejo muchas gracias, ya habia encontrado el error si estaba pasando dos venes por la funcion que cargaba el body,

por alguna razon habia puesto un log llamando la misma funcion por ende la ejecutaba dos veces


Muchas gracias 


suerte

Debian     Jhonatan Silva Orrego
     Programador web
  
  Movil    316 876 99 00
    Oficina  454 72 81  

    La caja decia “Requiere Win98" o superior. Así que  instale Linux.

 

Twitter


2011/5/4 Geneller Naranjo <gene...@gmail.com>

Geneller Naranjo

unread,
May 4, 2011, 4:37:42 PM5/4/11
to cakep...@googlegroups.com
glad to help !!!

hey a la final si pude ir a al menos una parte el día de flisol, chevere la expo !!
Reply all
Reply to author
Forward
0 new messages