Cómo enviar correos con Laravel y Gmail

El envío de correos electrónicos desde cualquier aplicación web es algo crucial hoy en día. Por medio de este mecanismo se notifica al usuario cualquier tipo de actividad que se tenga con la web, desde enviar las claves de acceso a la plataforma hasta enviar un boletín con las últimas noticias publicadas.

A la hora de diseñar una aplicación en PHP, lo más fácil es hacer uso de la función “mail()” que nos permite hacer este tipo de envíos. En este tutorial, dejaremos de lado esta función y veremos cómo realizar este envío si estamos utilizando el framework de desarrollo Laravel 4.

La forma de enviar mails con Laravel es muy sencilla, ya que para ello hace uso de Swiftmailer. Lo primero que deberemos hacer será configurar el archivo “mail.php” que encontramos en la ruta “/app/config/mail.php”. Ahí le indicaremos los datos que utilizaremos para realizar el envío. En nuestro ejemplo, será una cuenta de Gmail.

Los distintos campos que nos encontraremos son:

- driver: El driver de correo que te gustaría utilizar. Por defecto es SMTP, pero se puede cambiar para que utilice otro.
- host: Se indica el servidor SMTP que utilizaremos.
- port: El puerto SMTP.
- from: Aquí indicamos la dirección de mail desde donde se hará el envío.
- encryption: Protocolo de encriptación que utilizaremos cada vez que se envíe un mail.
- username: Usuario SMTP.
- password: Contraseña SMTP, la del correo.
- sendmail: Aquí se indica el path donde podemos encontrar el Sendmail en el servidor. Se completa cuando utilicemos el driver Sendmail.
- pretend: Cuando su valor es true, los emails se registrarán en un log.

Como hemos dicho, nosotros utilizaremos una cuenta de Gmail para hacer el envío, por lo que nuestro archivo de configuración quedaría de la siguiente manera.

return array(

'driver' => 'smtp',

'host' => 'smtp.gmail.com',

'port' => 587,

'from' => array('address' => 'micorreo@gmail. com', 'name' => 'Jorge'),

'encryption' => 'tls',

'username' => miusuariodegmail',

'password' => 'mipassword',

);

Una vez que tenemos configurado nuestro archivo, para realizar el envío del correo desde Laravel, tenemos que hacer uso de su método “Mail:send()”. A continuación os dejamos un pequeño ejemplo.

Mail::send('emails.template', $data, function ($message) use ($user){

    $message->subject('Asunto del correo');

    $message->to('[email protected]');

});

El primer parámetro que se le pasa a este método es el template que se va a utilizar como plantilla de email y que tendrá la estructura de una página HTML.

El segundo argumento ($data) corresponde con los datos que queremos enviar por correo electrónico y que son recibidos en la plantilla.

El tercer argumento es una función al que se le pasa un objeto $message que podemos utilizar para indicarle al usuario que le estamos enviando un correo y el asunto de este mail. Aquí se puede indicar otras opciones como archivos adjuntos,…

Como podéis ver, realizar un envío de mail desde Laravel es realmente sencillo y rápido.

Y este ha sido el artículo en el que trataba explicaros cómo enviar correos con Laravel y Gmail, esperamos que te haya gustado y sepas aplicarlo en tus futuros proyectos. Ya sabes que si nos quieres proponer un tema que quieres ver reflejado como un tutorial o como una práctica, solo tienes que hacer uso del área de comentarios de un poco más abajo. Por el contrario, si quieres enviarnos tus propios tutoriales, puedes hacerlo a través de la intranet de usuarios que está habilitada para ello, a través del menú Enviar Tutorial. Ya sabes, ayúdanos a crecer con tus conocimientos. ¡Un saludo y feliz código!

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP