Diseñar plantillas HTML para e-mails y probarlas en los diferentes clientes de e-mail suele ser bastante tedioso. Hay algunas herramientas como Litmus que ayudan a este problema, pero es un servicio caro.
Otro modo de probar estas plantillas es renderizarlas directamente en el navegador, permitiéndonos hacer cambios rápidamente y obtener una respuesta instantánea. Aunque esto es un caso práctico, renderizar Mailables en el navegador no es tan sencillo. Esto ha cambiado en Laravel 5.5 implementando el Contract Renderable
, que nos permite mostrarlos directamente desde una ruta.
Por ejemplo, vamos a crear un Mailable para UserWelcome:
1 | php artisan make:mail UserWelcome --markdown=emails.user.welcome |
En nuestra ruta quedará así:
1 2 3 | Route::get('/demo', function () { return new App\Mail\UserWelcome(); }); |
Y esto es lo que veremos en el navegador: