- O Problema: Erro genérico ao baixar todos os anexos em ZIP
Quando o cliente usa a função “Baixar ZIP com todos os anexos” de um e-mail no AfterLogic Webmail, a interface exibe apenas:
ERRO DESCONHECIDO
Sem nenhum detalhe adicional na tela do webmail
Isso ocorre em instalações AfterLogic integradas via root ao WHM/cPanel (server-wide, em /usr/local/cpanel/base/3rdparty/afterlogic), onde a instalação é compartilhada por todos os clientes do servidor.
- A Causa: Falha de permissão na pasta de cache
O AfterLogic precisa montar os anexos em uma pasta de cache temporária (data/cache/ e data/temp/) antes de compactá-los em ZIP. Como o PHP roda com o usuário de cada conta cPanel individualmente (via suPHP/CloudLinux), mas a instalação do AfterLogic é única para todo o servidor, essas pastas internas podem pertencer a outro dono (ex: root, ou o usuário que rodou o instalador original).
Quando isso acontece, o PHP não consegue criar a pasta de cache, o download de cada anexo falha durante o fetch no IMAP, o ZIP nunca é montado, e o usuário só vê o erro genérico na tela.
- Procedimento de Diagnóstico: Ativação do Debug Logging
Acesse o AdminPanel do AfterLogic (instalação server-wide):
http://<qualquer_dominio_do_servidor>:2096/3rdparty/afterlogic/webmail/adminpanel/index.phpPré-requisito: é necessário estar logado numa conta de e-mail real no mesmo navegador antes de acessar essa URL.
Login padrão (se nunca alterado): usuário superadmin, senha em branco. Se necessário, confirme direto no arquivo, com acesso root:
grep -A2 "AdminPassword" /usr/local/cpanel/base/3rdparty/afterlogic/webmail/data/settings/config.jsonNo AdminPanel, vá em Logging settings:
Marque “Enable debug logging”
Deixe Verbosity = Debug
(Recomendado em servidores com muitos usuários) Use “Specified user” e acesse o webmail do cliente com ?speclogon na URL, para isolar só a sessão dele
EX:
http://<qualquer_dominio_do_servidor>:2096/3rdparty/afterlogic/webmail/?speclogon/index.phpSalve.
Peça para o cliente reproduzir a ação: abrir um e-mail com anexos e usar a função de baixar todos os anexos em um ZIP único.
- Validação via CLI: Identificando o Erro no Log
Não confie apenas no “Download log” pela interface, ele pode demorar a atualizar. Acompanhe direto por SSH:
tail -f /usr/local/cpanel/base/3rdparty/afterlogic/webmail/data/logs/log-$(date +%Y-%m-%d).txtO que procurar no log: a entrada da API MailZipWebclientPlugin::SaveAttachments, seguida de um erro de permissão do tipo mkdir(). O log terá um formato semelhante a este:
===== API: MailZipWebclientPlugin::SaveAttachments PHP[NOTICE]: /usr/local/cpanel/base/3rdparty/afterlogic/webmail/system/Managers/Filecache/Storage.php [line:214, code:2] PHP[NOTICE]: Error: mkdir(): Permission denied IMAP[NOTICE]: Callback Exception IMAP[WARNING]: End Callback for FETCH / BODY[2] - feof = BAD IMAP[WARNING]: Not read literal size is 136540 bytes.Esse trecho se repete para cada anexo do e-mail (BODY[2], BODY[3], BODY[4]…), sempre com o mesmo mkdir(): Permission denied. Se o log mostrar esse padrão, o problema está confirmado como permissão de pasta, e não falha pontual de um anexo específico.
- Solução: Correção de Permissão
Corrija a permissão da pasta data da instalação (cobre cache, temp e settings de uma vez):
chmod -R 0777 /usr/local/cpanel/base/3rdparty/afterlogic/webmail/dataPeça para o cliente tentar novamente o download do ZIP de anexos.
Se quiser confirmar o dono das pastas antes/depois:
ls -la /usr/local/cpanel/base/3rdparty/afterlogic/webmail/data/- Falhas Persistentes: Quando o Erro Continua Após o chmod
Se o erro mkdir(): Permission denied persistir mesmo após o chmod, verifique:
Se o disco do servidor (partição onde está /usr/local/cpanel) não está cheio — falta de espaço também gera falha silenciosa de mkdir
Se não há um módulo de segurança (SELinux, CloudLinux CageFS, mod_security customizado) restringindo escrita fora do home do usuário, o que exigiria whitelisting da pasta data pela equipe de gerenciamento
Considerações
Como essa é uma instalação server-wide, esse mesmo problema de permissão pode voltar a ocorrer para outras contas cPanel do servidor. Se o chamado se repetir com clientes diferentes, considere revisar a permissão da pasta data de forma preventiva em vez de corrigir caso a caso.
Referência oficial:
https://afterlogic.com/docs/webmail-pro-8/installation/install-on-cpanel
https://afterlogic.com/docs/webmail-pro-8/troubleshooting/debug-logging-as-main-troubleshooting-measure