En este artículo te enseñaré a enviar un correo con Laravel, usando el servidor de correos que tengas instalado en tu servidor web o logueando en un archivo.

Para ejemplificar vamos a enviar un correo electrónico usando una vista a la que le vamos a pasar algunos datos.

¿Qué vamos a hacer?

Te voy a mostrar un ejemplo de cómo enviar un correo con Laravel.

Voy a poner un ejemplo para enviar una notificación a un tutor de un alumno para que se entere de que su hijo no asistió a la escuela, esto es porque ando trabajando en un control escolar.

Configurando driver

Con Laravel podemos enviar un correo de distintas maneras. Por ejemplo, podemos enviar un correo con gmail, pero también podemos usar un servidor local o el archivo de log.

En mi caso usaré el log, así que en el archivo .env lo configuro así:

MAIL_DRIVER=log

Tú lo puedes configurar como lo desees.

Remitente

Dentro del archivo .env voy a configurar el nombre y el remitente global, pues todos serán de la misma dirección, quedando así:

Cuerpo del correo

Podemos usar Blade para renderizar la plantilla del correo electrónico. En este caso la coloqué dentro de resources/views/correos/asistencia_alumno.blade.php y se ve así:

Es una vista que necesita de la variable $alumno y la variable $fecha. Así de simple.

Generación de mailable para enviar correo con Laravel

Para este tipo de necesidades, Laravel provee los Mailables, que son clases que nos ayudan a enviar correos electrónicos. Puedes crear uno usando artisan o ver cómo es el archivo más abajo. Si lo haces con artisan, es:

Relacionado:  Plugin para imprimir en impresora térmica usando navegador web y JavaScript

php artisan make:mail NombreDelMailable

Lo que creará un archivo en app/Mail. Ahora, dentro de su constructor voy a esperar las variables que le pasaré a la vista mostrada anteriormente.

Además, en el método build regresaré la vista pasándole los datos con el método with.

El método importante es build, pues en el mismo colocamos para quién será.

Enviar correo con Laravel

Ahora que tenemos al mailable simplemente creamos una instancia del mismo e indicamos la dirección a donde se envía. Por ejemplo:

Y ya en un ejemplo completo lo tengo dentro de mi controlador:

Al enviarlo y abrir el log el mensaje es correcto:

Enviar correo con Laravel - Revisando correo enviado en Log

Enviar correo con Laravel – Revisando correo enviado en Log

Obviamente en tu servidor vas a usar smpt o mail como driver.

Conclusión

Como siempre lo digo, la documentación oficial es la mejor fuente de aprendizaje, ya que aunque no tiene tantos ejemplos, documenta el funcionamiento.

Mira más tutoriales de Laravel en mi blog.

Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 375 suscriptores


parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

0 Comments

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: