Aprenda a fazer a leitura de logs de e-mail em seu servidor para poder corrigir eventuais problemas com seu serviço de e-mails!
Na HostGator, os únicos produtos em que o usuário pode ver esses logs são nos servidores VPS e Dedicados, pois, é necessário acesso root ao servidor.
Se você utiliza o serviço de e-mails do cPanel do seu plano de hospedagem, saiba que você pode conferir algumas informações dos e-mails enviados pelo seu servidor. A análise de logs é um processo que é muito importante quando estamos enfrentando problemas de envio ou recebimento de e-mail, é a partir dessas análises que podemos diagnosticar eventuais problemas com e-mails.
Com esse artigo você aprenderá a: ler logs relacionadas a e-mails e determinar sua origem, caminho e destino, saber se a mensagem foi enviada com sucesso ou se falhou ou foi adiada, também saberá interpretar logs do filtro de spam e da fila de e-mails. Vamos lá?
Índice
Como encontrar os logs dos e-mails no servidor
O cPanel utiliza o Exim como seu Agente de transferência de e-mail, ele é um software gratuito que visa realizar a operação de envio dos e-mails. Por padrão os logs de e-mail do cPanel são guardados nos seguintes diretórios:
- Principais logs do Exim: esses logs se encontram no diretório /var/log/exim_mainlog
- Dovecot e Spam Assassin log: esses logs se encontram no diretório /var/log/maillog
- Mailman logs: esses logs se encontram no diretório /usr/local/cpanel/3rdparty/mailman/logs/*
Se você acessar o terminal do seu servidor, você pode utilizar do comando grep, ele filtra por um termo específico dentro de um arquivo e fornece as linhas daquele arquivo que contém o termo que você buscou. Então rodando:
grep "conta@de-email" /var/log/exim_mainlog
Você terá como resposta as linhas dentro do arquivo exim_mainlog que contenham o termo “conta@de-email”.
Outra forma de localizar os logs dos seus e-mails é através do WHM no menu Relatórios de entrega de email.
Nesse menu você pode filtrar por contas, envios, recebimentos, datas entre outros. Após executar o relatório, clique em cima da lupa na coluna Ações para ser exibido mais informações a respeito daquela mensagem.
Interpretando os logs de e-mails
Indicador de status de mensagens
Existem alguns sinais no log de e-mail que informa se a mensagem do log foi enviada, recebida ou houve falha, para identificar isso temos que checar o indicador de status de mensagem.
Para uma mensagem enviada do seu servidor teremos o status =>
2021-03-13 09:20:29 1YWQRx-0008D8-LD => [email protected] ...
Para uma mensagem recebida no seu servidor teremos o status <=
2021-03-13 09:20:29 1YWQRx-0008D8-LD <= [email protected] ...
Para uma mensagem adiada no seu servidor teremos o status ==
2021-03-13 09:20:29 1YWQRx-0008D8-LD == [email protected] ...
E para uma mensagem que falhou em sair no seu servidor teremos o status **
2021-03-13 09:20:29 1YWQRx-0008D8-LD ** [email protected] ...
Exim ID vs. Message ID
Toda mensagem de e-mail enviada tem um código com valor único vinculado a ele, esse código de chama message ID, mesmo que você utilize softwares de e-mails diferente do Exim, o message ID vai se manter o mesmo em qualquer outro software. Não é possível que duas mensagens de e-mails tenham um message ID idêntico.
Além do message ID, os e-mails também possuem o Exim ID, que é um código que o Exim cria nos e-mails que também identifica aquela mensagem com um código, este porém, não garante que cada e-mail possua um código único dentro de um sistema ou pela internet.
Essas informações você pode encontrar nos logs de e-mail que estão no exim_mainlog. Toda vez que uma mensagem chega num servidor que usa Exim, um novo Exim ID é vinculado para uso naquele servidor.
Confira abaixo em negrito o Exim ID em negrito em um log de e-mail:
2022-02-10 09:13:39 1nI8KR-0004ex-2I <= [email protected] H=localhost (vps.hg-brasil-test.tk) [127.0.0.1]:51080 P=esmtpa A=dovecot_login:[email protected] S=590 [email protected] T="teste" for [email protected]
E no mesmo log, confira o message ID em negrito:
2022-02-10 09:13:39 1nI8KR-0004ex-2I <= [email protected] H=localhost (vps.hg-brasil-test.tk) [127.0.0.1]:51080 P=esmtpa A=dovecot_login:[email protected] S=590 [email protected] T="teste" for [email protected]
Verificando o remetente e o destinatário
Utilizando do mesmo exemplo do log anterior, é possível identificar quem é o remetente e quem é o destinatário da mensagem do seu e-mail.
Confira abaixo em negrito o remetente do e-mail:
2022-02-10 17:07:25 1nIFiv-0001AJ-5d => [email protected] H=localhost (vps.hg-brasil-test.tk) [127.0.0.1]:59208 P=esmtpa A=dovecot_login:[email protected] S=592 [email protected] T="exemplo" for [email protected]
Já o destinatário se encontra no fim do log:
2022-02-10 17:07:25 1nIFiv-0001AJ-5d => [email protected] H=localhost (vps.hg-brasil-test.tk) [127.0.0.1]:59208 P=esmtpa A=dovecot_login:[email protected] S=592 [email protected] T="exemplo" for [email protected]
Roteador e Transportador
Roteadores indicam qual o caminho que uma mensagem pega para ter seu resolução. Já os transportadores, são a parte do código que executam esse caminho. Eles estão ambos presentes nos logs de e-mails para auxiliar na correção de problemas com envios/recebimentos.
Nos logs, o roteador se encontra após o termo R=. Já o transportador fica após o T=. No exemplo abaixo vemos um caso em que o roteador é o virtual_user e o transportador é o dovecot_virtual_delivery.
2022-02-10 10:05:09 1nI98A-0006cz-Lm => [email protected] R=virtual_user T=dovecot_virtual_delivery C="250 2.0.0 [email protected] K4WSC4UNBWLEYwAAzpZJNg Saved"
Com esses valores você pode buscar exatamente o tipo de comportamento que deveria estar ocorrendo se referenciando-se pelo arquivo /etc/exim.conf que indica como o roteador e o transportador estão instruídos a funcionar.
Fila de e-mails
Por vezes, é comum que e-mails entrem na fila de envio, geralmente ocorre quando há um volume muito alto de envios ou quando o servidor está utilizando seu processamento com outras tarefas. Abaixo você pode conferir um exemplo de fila de e-mails sendo executada e que estarão nos registros do log do Exim:
2022-02-10 09:31:44 Start queue run: pid=3214
2022-02-10 09:31:44 1nI98A-0006cz-Lm Spool file is locked (another process is handling this message)
2022-02-10 09:31:44 End queue run: pid=3214
O log do Exim vai te mostrar quando começou uma fila de e-mails e o ID desse processo (pid). Durante a fila de e-mails, os processos do Exim irão enviar uma mensagem de cada vez. No exemplo acima, a primeira linha indica que o processo iniciou, a segunda indica que tem apenas uma mensagem na fila e seu Exim ID é 1nI98A-0006cz-Lm, e em seguida diz que a mensagem está sendo lidada por outro processo, o que impossibilita seu envio no momento.
Logs do SpamAssassin
O SpamAssassin é um serviço de filtro de spam que está presente em servidores apache, confira um artigo onde falo sobre como evitar SPAMs. Este serviço também preenche o arquivo exim_mainlog com algumas informações, veja um exemplo abaixo dos logs feitos pelo SpamAssassin:
2022-02-10 11:59:09 [13024] 1ZC3B5-0003O4-7s H=some.server.net [10.2.3.4]:58393 I=[10.9.8.7]:25 Warning: "SpamAssassin as testuser detected message as NOT spam (-100.4)"
Neste exemplo, constatamos no fim do log que o e-mail foi detectado como “NOT spam”, ou seja, não é um spam. Esses logs indicam se a mensagem do e-mail foi detectada como spam e sua respectiva nota feita pelo próprio SpamAssassin. Esse log também indica que o SpamAssassin está ativo, o que pode ser importante para realizar possíveis correções de problemas.
Considerações Finais
Este é realmente um tema complexo, principalmente pelo fato dos logs estarem em inglês o que acaba sendo barreira para muita gente. Por sorte os termos utilizados nos logs costumam se repetir bastante, utilizando um tradutor em pouco tempo você deve conseguir se familiarizar cada vez mais com a leitura e interpretação desses logs. Se você sentiu alguma dúvida ou sentiu que algo não foi mencionado, deixe aí nos comentários que no futuro podemos trazer novas atualizações ao artigo. Também deixo como sugestão esses outros artigos:
- SpamAssassin: como utilizar a proteção contra spam no e-mail
- Como verificar a fila de e-mails em servidores VPS e Dedicado
Até a próxima! :^)