Zimbra: com remover e-mail enviado por engano

Zimbra: com remover e-mail enviado por engano

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

 done

Este 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.

Anterior Vagrant: Crie ambientes de Desenvolvimento Ágil
Próxima Certificação: 8 dicas para ter sucesso em exames

About author

Gabriel Araujo
Gabriel Araujo 3 posts

<p>Gabriel Araujo é um sysadmin apaixonado por linux. Formado em redes de computadores no Senai Suiço. Com 4 anos de experiência em T.I., porem entusiasta desde criança, atualmente atuando como especialista em e-mail e infraestrutura. Tambem atuando como instrutor ministrando cursos de Linux e suas diversas tecnologias, capacitando diversos técnicos em Linux e soluções Open Source.</p>

View all posts by this author →

Você pode gostar também

Infraestrutura 0 Comentários

PostgreSQL e MySQL – Os bancos de dados mais utilizados no mercado

Atualmente, existem dois bancos de dados que estão entre os mais usados no mercado. São eles: o PostgreSQL e o MySQL. Saiba mais sobre cada um deles, lendo o post!

Infraestrutura 0 Comentários

Subutai: Uma nova maneira de pensar sobre nuvens

A famosa “Cloud Computing”, a ideia de que todos os tipos de tecnologias podem ser entregues totalmente pela Internet está crescendo cada vez mais e mudando tudo! Isso afeta nossas

Infraestrutura 1Comments

Forecast e timeleft: faça previsões no Zabbix

A partir da versão 3.0 do Zabbix dois novos recursos, o forecast e timeleft, permitem fazer previsões sobre análise de dados coletados e criar alertas que antecipem problemas em potenciais.

0 Comentários

Ainda não há comentários!

Você pode ser o primeiro a comentar este post!

Deixe uma resposta