Obtener todas las casillas y redirecciones

Pasos a seguir para poder obtener el listado de casillas con sus reenvíos correspondientes con una sola linea de comando.

Motivo de una solicitud, fue necesario obtener esta información de la manera más rápida posible.
Como saben contamos con ZimbraRestApi para poder generar diversos listados y obtener información de nuestra plataforma Zimbra. 

Lo primero fue declarar las variables de entorno con los atributos que necesitamos para poder generar el listado a través de una búsqueda, según la documentación de ZimbraRestApi los atributos a obtener para el nombre y las casillas de reenvió son “name” y “zimbraMailForwadingAddress”.

export zimbra_account_attrs=’name,zimbraMailForwardingAddress’

Lo segundo es traer el listado de todas las casillas de un dominio para comprobar que la búsqueda entregue el resultado con los atributos necesarios. Para esto ejecutaremos el siguiente comando :

curl ‘http://localhost:9292/accounts/?domain=dominio' | jq ‘.’

Donde :

  • curl ‘http://localhost:9292/accounts/?domain=dominio' ” será la consulta que trae todas las casillas.
  •  “ jq ‘.’ ” será quien ordena el resultado JSON que nos devuelve la consulta .
    (más sobre JQ).

Como resultado deberías visualizar todas las casillas y la estructura de la información debería ser similar a esto:

 De esta manera comprobamos los atributos .

nota: en el ejemplo el campo zimbraMailForwardingAddress dice : "null", esto se debe a que la casilla no contiene casillas configuradas para el reenvío de mensajes.

Ahora para obtener solamente los resultados que necesitamos se debe refinar el resultado JSON que entrega ZimbraRestApi, esto con JQ.
Lo que haremos será modificar desde el  "pipe" ( | ) de la siguiente manera :

jq '.[]|{name: .name, reenvio: .zimbra_attrs.zimbraMailForwardingAddress}'

Donde :

  • El parámetro ".[]" indica a JQ que el resultado será recorrido como un arreglo.
  • | jq '.[]|{name: .name, reenvio: .zimbra_attrs.zimbraMailForwardingAddress}' Indica que el arreglo recibido por JQ será mostrado con los campos name: y reenvio: entregando como valor los atributos .name .zimbra_attrs.zimbraMailForwardingAddress
nota: ".zimbra_attrs.zimbraMailForwardingAddress" es un atributo anidado

Con esto ya tendremos el listado de casillas con sus respectivos reenvíos 


Finalmente solo basta agregar donde queremos guardar este resultado agregando al final del comando " > nombreDelArchivo.txt" quedando el comando de esta manera:

curl 'http://localhost:9292/accounts/?domain=dominio' | jq '.[]|{name: .name, reenvio: .zimbra_attrs.zimbraMailForwardingAddress}' > nombreDelArchivo

Aún necesitas ayuda? Solicitud de Soporte Solicitud de Soporte