Servidor de emails local para testes usando Mailhog
Mailhog é uma biblioteca open source escrita em Golang que contém um servidor de emails com:
Para este exemplo estou utilizando uma distribuição linux baseada em debian, com a linguagem go e o mailhog instalados basta executar o comando ~/go/bin/MailHog no terminal.
Então acessar no navegador a url http://localhost:8025/
E você terá já a visualização de um sistema de caixa de entrada do própio mailhog.
Para utilizar o SMTP basta utilizar a seguinte configuração STMP, por exemplo, no Laravel:
MAIL_MAILER=smtR=smtp
MAIL_HOST=127.0.0.1
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=sender@example.com
MAIL_FROM_NAME="${APP_NAME}"
Agora basta criar uma funcionalidade de email que utilize protocolo SMTP na sua linguagem/framework preferidos utilizando as configurações, e seus emails estarão já sendo enviados para a caixa de entrada do seu servidor Mailhog. 😀
Para utilizar API basta colocar /api/v2/{rota}
;
Endpoint de exemplo para pegar mensagens: http://localhost:8025/api/v2/messages?limit=50
;
Excelente recomendação, eu utilizo o mailhog via docker para visualizar os e-mails que o nosso servidor envia, o docker facilita todo o processo de instalação. Caso, alguém tenha interesse, basta executar o seguinte comando:
docker run -p 1025:1025 -p 8025:8025 -d mailhog/mailhog
Na porta 1025 é o SMTP e na 8025 é o servidor web.