Novedades de Laravel 5.5

El proceso para ver el diseño de un email de nuestra aplicación en Laravel mientras desarrollamos, implica configurar un servicio externo como Mailtrap, Mailgun, Postmark, entre otros o verlo en el archivo log. Sin embargo, Laravel 5.5 nos trae una ingeniosa novedad: podremos renderizar el email en el navegador sin la ayuda de paquetes o servicios externos, simplificando el proceso de pruebas de plantillas de emails en nuestros proyectos.

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Notas

Por Clemir Rondón.

Para crear un email a enviar por nuestra aplicación debemos crear una clase Mailable y para ello ejecutamos:

php artisan make:mail WelcomeUser --markdown=emails.welcome

Esta clase se crea dentro del directorio app/Mail y además crea la vista donde colocaremos el contenido del email en resources/views/emails.

Luego de crear el contenido del email para ver el resultado, tenemos que configurar la aplicación en el archivo .env bien sea para usar la opción log, servicios para envío de emails a servidores de prueba como Mailtrap o servicios para envío de emails como Mailgun, Postmark, etc.

Sin embargo, Laravel 5.5 nos trae la novedad que ya no es necesario dicha configuración ni ejecutar el envío del email usando el método send de la clase Mailable, sino directamente desde una ruta podemos tener una vista preliminar del email en el navegador con tan solo llamar a dicha clase, de esta manera:

También desde la ruta podrás enviar los parámetros que sean necesarios pasándolos como argumentos a la clase Mailable. Si quieres repasar el tema de envío de emails puedes mirar nuestra lección: Enviar emails con Mailables en Laravel 5.3.

Esta mejora es gracias a que ahora la clase Mailable implementa una nueva interfaz llamada Renderable que veremos con más calma más adelante.

Material relacionado

Únete a la discusión

Regístrate en Styde y obtén una invitación a nuestro Slack.

Lección anterior Nuevos helpers de rutas en Laravel 5.5 Lección siguiente Nuevo comando migrate:fresh en Laravel 5.5