Zimbra – como deletar mensagem enviada a muitos destinatários

Use o script descrito abaixo para deletar rapidamente uma mensagem enviada a muitos destinatários

Zimbra logo

Zimbra Logo

A maioria dos administradores Zimbra já recebeu alguma ligação de usuário angustiado: “você consegue deletar a mensagem que mandei por engano, para a empresa toda (centenas de destinatários)?” ou de gerente de TI inconformado: “alguém enviou o manual de normas e procedimentos de 100MB para todos da empresa, agora a Internet está quase parando!”

Sempre é possível deletar emails entrando de conta em conta através do console de administração, mas quando a lista de destinatários é grande um bash script pode ser mais eficaz e rápido. Abaixo segue um script que facilita este trabalho, originalmente publicado no GitHub por jigstar.

#!/bin/bash
# USO: rm_message.sh user@domain.com subject
# Antes de executar, eh necessario criar uma listagem de contas de email
# com este comand: zmprov -l gaa | grep domain.com > /tmp/temp_email

if [ -z "$2" ]; then
echo "usage:  rm_message.sh user@domain.com <subject>"
exit 0
else
addr=$1
subject=$2
for acct in `cat /tmp/temp_email` ; do
    echo "Searching $acct  for Subject:  $subject"
    for msg in `/opt/zimbra/bin/zmmailbox -z -m "$acct" s -l 999 -t message "from:$addr subject:$subject"|awk '{ if (NR!=1) {print}}' | grep -v -e Id -e "-" -e "^$" | awk '{ print $2 }'`
      do
    echo "Removing "$msg" from "$acct""
    /opt/zimbra/bin/zmmailbox -z -m $acct dm $msg
    done
done
fi