Configurar mensaje fuera de la oficina a todo un dominio
Una solicitud muy común por parte de nuestros clientes administradores es modificar la "respuesta automática fuera de la oficina" a todas las casillas del dominio.
Para realizar esto utilizaremos zimbraRestApi, en los siguientes pasos los comandos que se deben utilizar para configurar y activar la auto respuesta y como realizar esto a un listado de casillas.
Pasos
Identificar los atributos necesarios para la consulta.
Atributos
name
Nombre de la casilla
zimbraPrefOutOfOfficeReply
Respuesta automática
zimbraPrefOutOfOfficeReplyEnabled
Para activar la respuesta
zimbraPrefOutOfOfficeCacheDuration (opcional)
Duración de la respuesta automática
Configurar atributos en las variable de entorno.
Configuración de variables
export zimbra_account_attrs='name,zimbraPrefOutOfOfficeReply,
zimbraPrefOutOfOfficeReplyEnabled,zimbraPrefOutOfOfficeCacheDuration'
Comando para modificar el atributo "zimbraPrefOutOfOfficeReply".
Comando
curl -X PUT -d "zimbraPrefOutOfOfficeReply=Mensaje para la auto-respuesta" http://localhost:9292/accounts/user@domain/ | jq '.'
Para configurar el mensaje fuera de la oficina en una casilla.
Comando para modificar el atributo "zimbraPrefOutOfOfficeReplyEnabled".
Comando
curl -X PUT -d "zimbraPrefOutOfOfficeReplyEnabled=TRUE" http://localhost:9292/accounts/user@domain/ | jq '.'
Comando para modificar el atributo "zimbraPrefOutOfOfficeCacheDuration".
Comando
curl -X PUT -d "zimbraPrefOutOfOfficeCacheDuration=1m" http://localhost:9292/accounts/user@domain/ | jq '.'
Para asignar la duración del mensaje en cache:
Dia = d
Hora = h
Minutos = m
Segundo = s
Comando para modificar los atributos "zimbraPrefOutOfOfficeReply" y "zimbraPrefOutOfOfficeReplyEnabled" en solo una línea de comando.
Comando
curl -X PUT -d " zimbraPrefOutOfOfficeReply=MENSAJE FUERA DE LA OFICINA& zimbraPrefOutOfOfficeReplyEnabled=TRUE" http://localhost:9292/accounts/user@domain/ | jq '.'
Este es el comando que debemos ejecutar en todas las casillas, si deseas puedes agregar la duración del mensaje, para concatenar los campos debes utilizar el carácter especial "&"
Generar listado de las casillas a modificar.
Comando
curl 'http://localhost:9292/accounts/?domain=domain' | jq '.[]|{email: .name}|"\(.email)"' | sed -e 's/"//g' > listadoCasillas
Listado de casillas a modificar, sin comillas solamente el nombre de la casilla.
Generar comando que "arme" el listado de comandos de manera automática.
Comando
cat listadoCasillas | awk '{print "curl -X PUT -d \"zimbraPrefOutOfOfficeReply=MENSAJE FUERA DE LA OFICINA&zimbraPrefOutOfOfficeReplyEnabled=TRUE\" http://localhost:9292/accounts/"$1}' > comandosCasilla
Utilizando el listado de casillas generado, utilizamos este comando para crear un archivo con todos los comandos listos para ser ejecutados.
curl -X PUT -d "zimbraPrefOutOfOfficeReply=MENSAJE FUERA DE LA OFICINA&zimbraPrefOutOfOfficeReplyEnabled=TRUE" http://localhost:9292/accounts/user@domain
curl -X PUT -d "zimbraPrefOutOfOfficeReply=MENSAJE FUERA DE LA OFICINA&zimbraPrefOutOfOfficeReplyEnabled=TRUE" http://localhost:9292/accounts/user1@domain
curl -X PUT -d "zimbraPrefOutOfOfficeReply=MENSAJE FUERA DE LA OFICINA&zimbraPrefOutOfOfficeReplyEnabled=TRUE" http://localhost:9292/accounts/user2@domain
curl -X PUT -d "zimbraPrefOutOfOfficeReply=MENSAJE FUERA DE LA OFICINA&zimbraPrefOutOfOfficeReplyEnabled=TRUE" http://localhost:9292/accounts/user3@domain
curl -X PUT -d "zimbraPrefOutOfOfficeReply=MENSAJE FUERA DE LA OFICINA&zimbraPrefOutOfOfficeReplyEnabled=TRUE" http://localhost:9292/accounts/user4@domain
curl -X PUT -d "zimbraPrefOutOfOfficeReply=MENSAJE FUERA DE LA OFICINA&zimbraPrefOutOfOfficeReplyEnabled=TRUE" http://localhost:9292/accounts/user5@domain
curl -X PUT -d "zimbraPrefOutOfOfficeReply=MENSAJE FUERA DE LA OFICINA&zimbraPrefOutOfOfficeReplyEnabled=TRUE" http://localhost:9292/accounts/user6@domain
....
Finalmente solo queda ejecutar .comandos y esperar a que se configuren todas las casillas.