Cursos Magento

Testando envio de e-mails no Magento (com MailHog)

,

Atualizado em 11 de setembro de 2020

Há algumas semanas vimos um super tutorial sobre como criar um formulário de contato e como disparar e-mails no Magento 1.

Porém, não exploramos como fiz para testar o disparo de e-mails, algo muito rotineiro para todo desenvolvedor.

Objetivo

O objetivo neste caso é suprimir todo e qualquer envio de e-mail da nossa loja. Ou seja, evitar que qualquer e-mail seja enviado para qualquer endereço de e-mail.

Ao invés disso, faremos com que este e-mail seja “segurado” em um lugar onde somente nós consigamos ler. Desta forma, podemos testar peças de e-mail, testar e-mails transacionais, e qualquer tipo de e-mail enviado por nossa aplicação PHP.

Solução

Para testar o disparo de e-mails tenho usado uma aplicação chamada MailHog. Ela é gratuita e pode ser instalada em qualquer sistema.

Sua configuração é bastante simples, uma vez instalado, todo e-mail enviado fica salvo em memória no seu computador. O acesso aos e-mails se dá em uma interface web bem amigável.

Tela do MailHog

Instalando MailHog

Existem várias formas de fazer sua instalação. Você pode baixar um release específico para seu sistema operacional ou seguir os passos abaixo.

Instalando no MacOs

Use o comando brew update && brew install mailhog.

Altere o parâmetro abaixo no seu php.ini:

sendmail_path = /usr/local/bin/MailHog sendmail [email protected]

Apenas confirme que o caminho do seu mailhog está correto. Para fazer isso digite which mailhog após fazer a instalação.

Simples né?

Instalando no Windows

Baixe e execute o release de acordo com sua versão do Windows:

Altere ou adicione o parâmetro abaixo no seu php.ini:

sendmail_path = \caminho\do\mailhog.exe sendmail

No Magento…

É muito importante que você desabilite qualquer módulo que faça uso de servidores SMTP ou que modificam os adaptadores de envio de e-mails do Magento. Por padrão o Magento usa o sendmail para disparar e-mails, e o nosso MailHog conta com isso. Módulos que modificam este comportamento podem passar por fora do MailHog e serem disparados normalmente.

Usando MailHog

Uma vez que você rodar o MailHog, ele estará disponível na porta 8025 (padrão), como mostro abaixo:

Executando MailHog no terminal

Portanto, basta acessar http://0.0.0.0:8025/ para conferir seus e-mails.

Resultado

Note que alguns e-mails no Magento são colocados em fila. Por isso usei o n98 pra executar a tarefa que dispara os e-mails.

O N98, assim como várias outras ferramentas podem ser encontradas no curso de Magento 2 ou no curso de backend para Magento 1. Lá eu explico como usá-las com mais detalhes e seus principais recursos.

Últimos posts por Ricardo Martins (exibir todos)
Comentários

Deixe seu comentário

[fbcomments url="https://www.magenteiro.com/blog/magento-2/testando-envio-emails-magento-mailhog/"]