DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» is a community of 964,423 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Create account Log in
Roberto Manchado
Roberto Manchado

Posted on • Updated on

MailCatcher

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)

Take a look at this:

Settings

Go to your customization settings to nudge your home feed to show content more relevant to your developer experience level. πŸ›