jueves, 22 de mayo de 2014

Es muy común que cuando dasarrollamos una aplicación web necesitemos enviar email a los usarios con notificaciones, avisos, etc... Por eso CakePHP tiene toda una clase dedicada a este fin CakeEmail.

En este post vamos a configurar esta clase para que funcione con una cuenta gmail. Empezamos con la configuración para Gmail.

Configurar una cuenta Gmail en CakePHP para enviar email.


Cuando estamos desarrollando una aplicación en nuestro servidor local es muy común que no tengamos configurado un servidor de correo o que no dispongamos de una cuenta de correo en un servidor Smtp es por eso que es muy útil poder configurar CakePHP para enviar correo desde Gmail.

1. Añadir los datos de configuración en app/Config/email.php

Abrimos nuestro fichero de configuración de email que esta ubicado en /miproyecto/app/Config/email.php y añadimos la siguientes lineas:

public $gmail = array(
     'transport' => 'Smtp',
     'from' => array('site@caketest.lo' => 'CakeTest'),
     'host' => 'ssl://smtp.gmail.com',
     'port' => 465,
     'username' => 'usuario@gmail.com',
     'password' => 'passwordgmail'      
);

En este fichero existen otras configuraciones, CakePHP usa por defecto la "default" asi que también podriamos escribir la configuración en esta variable, eso ya es elección vuestra.
Ahora para enviar un email simplemente tendriamos que insertar el siguiente código en la acción de un controlador:
$Email = new CakeEmail();
$Email->config('gmail');
$Email->to('emaildonde@queremoseviar.com');
$Email->subject('Asunto del email');
$Email->send('Texto del mensaje');

Si quereis saber acerca de esta clase, como puede ser el tema de templates, layout, pasar variables... revisar en documentación ofical de CakePHP la clase CakeEmail.

1 comentario :

  1. Gracias por la información, es importante conocer también crear cuentas infinitas gmail, considero que nos permitiría usar cada una para fines distintos y evitar que los correos recibidos se mezclen, ayúdanos con eso.

    ResponderEliminar