Como apagar um e-mail enviado por engano com o Zimbra: um guia passo a passo
Em um dos meus projetos de zimbra recebi aquela pergunta que todo analista de T.I. já recebeu:
” Enviei e-mail errado e foi para toda a empresa, preciso apagar este e-mail da caixa postal de todo mundo, socorro !!! “
E agora ? Vamos chorar e já ligar para o RH ? Não se usar Zimbra. Veja como proceder.
O Zimbra possui um mundo de possibilidades, o que temos que fazer é explorar este mundo e juntar os comandos do zimbra com o pai de todos, o shell script.
Antes de entregar o script, vamos aos comandos do zimbra.
Primeiro devemos listar todos os contatos do meu domínio no zimbra, com o usuário zimbra, envie o comando :
zmprov -l gaa 4linux.com.br
Este comando irá listar todos os usuários do domínio 4linux.com.br
Beleza, mas o que isto vai nos ajudar ? Então, para você apagar a mensagem, primeiro você deverá consultar se ela existe na caixa postal do usuário e para isto, você deve passar o usuário ” caixa postal ” que você deseja consultar.
Para pesquisar se o e-mail existe na caixa postal daquele usuário, você irá usar o comando, tudo na mesma linha:
zmmailbox -z -m gabriel@4linux.com.br s -l 999 -t message "from:xpto@4linux.com.br Subject: Assunto enviado errado"
O que este comando está fazendo, primeiro passei a conta que irei consultar se a mensagem existe, depois passei o número máximo de mensagens que ele irá consultar na caixa postal no meu caso 999 e por último informações que constam na mensagem, no meu caso passei remetente que enviou a mensagem errada e o assunto da mensagem errada.
Este comando irá sair o ID dessa mensagem na caixa postal do zimbra, esta informação que é importante para nós, porquê é por ele que irei apagar a mensagem da caixa postal.
Para trazer apenas o ID da mensagem utilizei expressões regulares:
zmmailbox -z -m gabriel@4linux.com.br s -l 999 -t message "from:xpto@4linux.com.br Subject: Assunto enviado errado" | tail -n2 | head -n1 | awk '{print $2}'Beleza, já tenho as informações necessárias para deletar a mensagem então vamos excluir a mensagem da conta do gabriel@4linux.com.br
Para isto, utilize o binário :
zmmailbox -z -m gabriel@4linux.com.br dm 49670424
sendo que 49670424 é o ID da mensagem que você retirou anteriormente.
Beleza, agora e se você 500k de caixa postal ? No meu cenário era isto, então vamos para o Shell Script, este script utilizei como base o curso 451 da formação linux, caso queira segue link : formação linux.
#!/bin/bash
#Escolha o dominio para trazer a lista de todos os usuários.
DOMINIO=4linux.com.br
for conta in $(zmprov -l gaa $DOMINIO); do
# Na variavel MENSAGEM, preencha o from e o subject da mensagem a ser deletada.
MENSAGEM=$(/opt/zimbra/bin/zmmailbox -z -m "$conta" s -l 999 -t message "from:xpto@4linux.com.br Subject: Assunto enviado errado" | tail -n2 | head -n1 | awk '{print $2}')
if [ "$MENSAGEM" = "0," ]
then
echo -e "\n conta $conta nao tem a mensagem "
else
# Confirmando antes de apagar a mensagem se o script está funcionando
echo -e "\n /opt/zimbra/bin/zmmailbox -z -m $conta dm $MENSAGEM "
# Para deletar a mensagem de fato, descomente a linha abaixo :
# /opt/zimbra/bin/zmmailbox -z -m $conta dm $MENSAGEM
fi
doneEste script verifica todas as contas de um domínio dentro de um for, depois ele irá consultar se possui ID o filtro que utilizei, caso a mensagem não possua a mensagem, irá aparecer “0,” então utilizei um if para isto, se conter 0, significa que não possui a mensagem, se não a mensagem está ali e o conteúdo da variável MENSAGEM é o ID da mensagem, ai sim irei excluir a mensagem de uma vez.
About author
Você pode gostar também
Integrando seu chat com o Rocket Chat: um guia passo a passo
Já falamos anteriormente sobre o Rocket Chat e sua funcionalidade do Omnichannel, onde poderíamos centralizar contatos vindos de diferentes plataformas de comunicação em um único meio de atendimento. Existem funcionalidades
Autenticando terraform na Google Cloud sem compartilhamento de chaves
O terraform atualmente é, de longe, a ferramenta de infraestrutura como código mais popular no mundo de TI e de Cloud. Ele tem suporte aos principais provedores de cloud e
Guia Prático: Como Instalar e Configurar o Apache Ambari em um Cluster Hadoop
O Apache Ambari é uma plataforma desenvolvida pela Hortonworks que permite instalar, configurar e monitorar um cluster hadoop em poucos minutos. Neste post irei ensinar como instalar o Ambari em






