Mailhog – Teste seus e-mails em desenvolvimento

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. =)

Gostou do conteúdo desse post? Apoie o blog contribuindo a partir de R$1/mês através da nossa página no Apoia.se! Isso me ajudará a manter o blog no ar, além de trazer mais coisas legais para vocês! Obrigado desde já! 😀