2013/07/26

Bloqueio de conta de email agendado Zimbra

Há regras trabalhistas em que o colaborador não deve usar o email fora do horário de trabalho, pois isso caracteriza hora extra.

Em meu ambiente, não tenho um serviço de diretório (LDAP, Active Directory, etc) em que possa fazer esse bloqueio por horário.

Sendo assim, criei esse script para poder efetuar a alteração do status da conta diretamente no Zimbra. Segue o passo-a-passo.

Com o usuário root, crie o script em /opt/zimbra/bin:
# vi /opt/zimbra/bin/zmschedulestatus 

Coloque o seguinte conteúdo:
#!/bin/bash
# zmschedulestatus - Change status of email account via crontab
#
# Marcio Jose Atanasio
# Version 20130726

CONF="/opt/zimbra/zmschedulestatus_accounts"

ZMPROV="/opt/zimbra/bin/zmprov"
if [ -f $CONF ]; then
        if [ "$1" = "active" ] || [ "$1" = "maintenance" ] || [ "$1" = "locked" ] || [ "$1" = "closed" ] || [ "$1" = "lockout" ] || [ "$1" = "pending" ]; then
                for ACCOUNT in `cat $CONF`; do
                        $ZMPROV ma $ACCOUNT zimbraAccountStatus $1
                done
        else
                echo "Necessary state account to change. Valid modes are active,maintenance,locked,closed,lockout,pending"
        fi
else
        echo "Create a configuration file with email accounts in $CONF"
fi


Crie o arquivo de configuração com as contas de email que deseja alterar o status:
# vi  /opt/zimbra/zmschedulestatus_accounts

Adicione as contas que deseja efetuar a alteração do status:
email@dominio.com.br

Como usuário zimbra, adicione ao crontab o agendamento:
# crontab -e

Ao final, configure:
# Efetuar bloqueio às 18 horas de segunda a sexta
0 18 * * 1-5 /opt/zimbra/bin/zmschedulestatus locked
# Desbloquear às 8 horas de segunda a sexta
0 8 * * 1-5 /opt/zimbra/bin/zmschedulestatus active


Observações: Quando no estado locked a conta de email continua a receber mensagens. Há vários estados que estão descritos em Zimbra Account Status.

Um comentário:

Felipe Rossi disse...

bom dia Marcio,

estavamos procurando uma solução similar

Parabens.

Att