Un paquet per capturar i visualitzar els emails enviats per la teva aplicació Laravel
Aquesta setmana, hem publicat un paquet anomenat creagia/laravel-web-mailer. Sovint, quan treballem en projectes dels nostres clients, creem un entorn de preproducció on realitzem proves i validem noves funcionalitats conjuntament.
Depenent del projecte, ens interessa validar l'enviament d'emails. És a dir, quins emails s'estan enviant, quan ho fan, el seu destinatari... Evidentment, no ens interessa que aquests emails s'enviïn realment.
Què utilitzàvem fins al dia d'avui
Fins ara, havíem utilitzat serveis de tercers, com ara Mailtrap. Això, a banda del cost que suposava, ens afegia complexitat de gestió, ja que no estava integrat en la mateixa aplicació.
També havíem fet servir algun paquet de codi obert. Però no acabàvem de trobar-ne cap que ens encaixés perfectament. Pel fet que alguns estaven desactualitzats, d'altres els faltaven funcionalitats que necessitàvem (com ara visualitzar arxius adjunts o restringir l'accés a certs usuaris), ...
Per aquest motiu, hem decidit crear el nostre propi paquet, programat fent servir un stack modern com en la resta de desenvolupaments per clients (PHP 8.1, Alpine.js i Tailwind CSS).
Característiques del paquet
El paquet que hem desenvolupat s'encarrega de capturar tots els emails que envia l'aplicació Laravel. Aquests, a diferència de la majoria de paquets ja existents, es guarden en arxius. Així, evitem tenir diferències en l'estructura de la base de dades entre l'entorn de preproducció i el de producció.
Per visualitzar els emails enviats, simplement caldrà visitar la ruta "/web-inbox" de la mateixa aplicació.
Normalment es restringeix l'accés als servidors de preproducció. Per aquest motiu, hem deixat la ruta "/web-inbox" visible per tothom. Tot i això, si és necessari, podeu controlar-ne l'accés afegint els "middleware" necessaris a l'arxiu de configuració del paquet.
Podeu llegir totes les funcionalitats i com utilitzar-les a la pàgina de la documentació.