Quando se desenvolve uma aplicação web, é normal que tal aplicação possua suporte a envio de e-mails. Seja para confirmar o e-mail do usuário, seja para mandar boas vindas a ele, seja para recuperar senha, enfim, são variados os e-mails a serem enviados pela aplicação e normalmente é bem chato de testar o envio em ambiente de desenvolvimento, pois o envio de e-mails exige configuração de algumas coisas bem chatas, como host SMTP, usuário, senha, criptografia, e por aí vai.
E a situação fica mais chata ainda quando você considera que, se você enviar um mesmo e-mail múltiplas vezes, seu e-mail pode cair na blacklist de SPAM, logo, fazer testes de e-mail com provedores reais normalmente não é algo que dá muito certo, e assim, é fácil concluir que depender da web para isso não é bem...interessante.
Por isso que hoje vou falar do Mailhog. O Mailhog é um software de código aberto desenvolvido em Go que facilita e muito o teste de e-mails no ambiente de desenvolvimento.
Funciona assim: Você baixa o binário do Mailhog, executa e....bem, é isso. O Mailhog inicia, em seu PC, um servidor de SMTP que não envia e-mails para absolutamente lugar nenhum. Os e-mails "enviados" a partir desse SMTP na verdade são capturados e colocados em memória, de forma que seja possível ver como eles ficam no browser e, caso você queira, mesmo enviá-lo para outro serviço de e-mail real, para ter certeza que está tudo certo e ver como o e-mail fica nesse outro serviço.
Não bastasse ser uma tremenda mão na roda só com isso, o Mailhog também tem outra função que facilita pacas a vida do desenvolvedor: O Jim. O JIm é o que o Mailhog chama de "Macaco do Caos", pois sua intenção é unicamente...fazer bagunça. Segue a lista do que o Jim faz:
- Recusa conexões;
- Limita a velocidade das conexões;
- Recusa autenticação;
- Recusa destinatários;
- Recusa remetentes;
Mas, se o Jim só faz bagunça, qual o motivo dele ser bom? Simples: Todos esses erros podem e não raramente acontecem em produção, seja por problemas no hardware, no software ou da área de ciências ocultas da computação. Com o Jim, você consegue ver como sua aplicação se comporta frente a esses erros, e consegue prevenir o que pode acontecer caso algum desses erros ocorram.
Além disso tudo, o Mailhog tem também as seguintes características:
- Aceita recebimento de e-mails com anexos;
- Mostra e-mails no browser em tempo real conforme e-mails vão chegando;
- Visualização de e-mail em modo texto e em modo HTML;
- Portátil, não requer instalação;
- Opção de salvar e-mails no MongoDB, para persistência;
Enfim, é isso. Se a aplicação no qual você trabalha envia e-mails, dedique alguns minutos do seu dia para testar o Mailhog. Vale bastante a pena e você não vai se arrepender. =)
- Repositório no Github: https://github.com/mailhog/MailHog
Deixe um comentário