En ocasiones, debemos realizar pruebas de nuestros métodos o proyectos
en las que de alguna manera deberemos enviar un email.
Ya sea en un entorno de pruebas o de desarrollo, y en anteriores experiencias
el protocolo ha sido, crear un email ficticio y enviartelo a tu bandeja de entrada , ya
sea de email, protonmail, yahoo?,,,, etc.
Muy profesional.
Desde hace bien poco, vengo utilizando una herramienta , Mail Catcher, que
precisamente sirve para esto.
Se trata de un servidor SMTP que intercepta los mensajes de salida que enviemos al puerto
por defecto: http://127.0.0.1:1025 .
La forma de instalarlo, más cómoda es utilizando una imagen de Docker (Dockerfile) utilizando
un fichero .yml y docker-compose instalado. Esto es:
version: "3"
services:
mailcatcher:
restart: on-failure:10
image: dockage/mailcatcher:0.7.1
ports:
- "1086:1080"
- "1030:1025"
El puerto 1086 de nuestro host, se corresponderá con el 1080 del contenedor de Docker
y el 1030, se corresponderá con el 1025 del contenedor.
De forma que para poder enviar un email a esta bandeja de entrada "virtual" , podemos configurar
nuestro fichero .env ( suponiendo que trabajemos con symfony 4.^) de la siguiente manera:
###> symfony/mailer ###
MAILER_DSN=smtp://127.0.0.1:1030
###< symfony/mailer ###
Arrancamos el contenedor :
docker-compose up
Y ya podemos enviar nuestros emails, desde SwiftMailer , el componente Mailer de Symfony , PHP u otra herramienta para el envío de correos electrónicos, que serán interceptados por
MailCatcher y podremos visualizar lo que hemos enviado sin tener que utilizar correos electrónicos reales.
fdo: roberto manchado
Top comments (0)