Testando envio de e-mails no Magento (com MailHog)
Magento 1, Magento 2
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.
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:
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.
- PagSeguro (PagBank) para Magento 1 recebe a Nova Geração - 9 de abril de 2024
- Recorrência no WooCommerce Sem Plugins Pagos - 28 de janeiro de 2024
- Chargeback. O que é, e como se livrar deles. - 19 de dezembro de 2023
Deixe seu comentário
[fbcomments url="https://www.magenteiro.com/blog/magento-2/testando-envio-emails-magento-mailhog/"]