Cargando



Enviar correo electrónico con Laravel

Se detalla cómo podemos hacer para enviar un correo (mail) desde Laravel.



oct 24 2014 04:59
Avanzado
oct 27 2014 15:13
Las aplicaciones modernas generan muchos datos y muchas alertas, como tal debemos saber que hay información importante que debe llegarnos al momento que ocurre, una de las maneras más fácil de lograr esto es a través del correo electrónico.

Se elige esa vía ya que podemos tener un servicio aparte que reciba nuestros correos y nos los envíe a nuestros smartphone por ejemplo, así si llevamos una aplicación de venta en línea podemos hacer que cada vez que tengamos un nuevo pedido recibamos un correo.

Laravel nos facilita esta tarea gracias a sus clases, con ello podemos generar el trabajo con la menor cantidad de esfuerzo.

Requisitos
Primero debemos tener una instalación estándar de Laravel, luego como segundo requisito debemos configurar los datos de nuestro servidor de envío de correos, para ello podremos modificar el archivo que se encuentra app/config/mail.php.


Una vez que cumplimos los requisitos solo debemos seguir los siguientes pasos para poder completar esta tarea:

1- Primero vamos a crear una ruta que acepte una petición vía POST, de esta forma podemos enviarle los datos ya sea directo de un formulario o por alguna petición AJAX, para ello en el archivo routes.php de nuestra aplicación debemos colocar un código como el siguiente:

laravel-enviar-correo.jpg


En el ejemplo mostrado simplemente recibimos los datos de la petición POST y los validamos con una serie de reglas para garantizar su integridad, luego llamamos a una plantilla y le pasamos como mensaje los campos recibidos, esto es para que el correo tenga una presentación, finalmente retornamos el resultado de la variable $send, vimos que el envío del correo lo resolvimos con la clase Mail y su método send().

2- Finalmente debemos construir nuestra plantilla que le dará el aspecto final al mensaje que enviaremos, para ello simplemente vamos a crear un archivo llamado plantillaEmail.php y este irá ubicado en la carpeta views de la aplicación y puede contener algo como lo siguiente:

laravel-enviar-correo2.jpg


Aquí lo que más podemos destacar es el uso de una variable llamada $message, que si nos fijamos es la que le pasamos cuando generamos la ruta que envía el correo en el paso anterior, así de esta forma se construye el cuerpo del correo a ser enviado a los destinatarios correspondientes.

Como vimos generar un correo electrónico desde Laravel no es nada difícil, de hecho es muy fácil, así que no quedan excusas para no habilitar notificaciones con envío de correos, lo único a lo que debemos prestar atención adicional es a la configuración del servidor de correos.

Ajustes adicionales
Podemos hacer varios tipos de ajustes, podemos utilizar un servidor como POSTFIX o configurar un SMTP desde sendmail para que utilice alguna cuenta nuestra, como por ejemplo alguna cuenta de Gmail, sin embargo debemos tener cuidado de no enviar muchos correos a destinos inciertos ya que podemos ser etiquetados como SPAM y entonces nuestros mensajes no serían entregados.


Con esto finalizamos este tutorial, hemos aprendido una nueva acción en Laravel que puede mejorar la usabilidad de nuestra aplicación, es importante que investiguemos un poco más para que podamos sacar el máximo provecho a todo esto.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X