Hola lista , espero que todo esté bien , estoy liado con script que me interesa sacar. tengo un server de correo en zimbra y necesito sacar los ID de los mensajes de los usuarios, estoy tirando de un script el cual me da la salida de algo asi: num: 4, more: true Id Type From Subject Date ----- ---- -------------------- -------------------------------------------------- -------------- 1. -2919 conv admin Daily mail report for 2022-06-20 06/20/22 23:30 2. -2918 conv admin Daily mail report for 2022-06-19 06/19/22 23:30 3. -2917 conv admin Daily mail report for 2022-06-18 06/18/22 23:30 4. -2916 conv admin Daily mail report for 2022-06-17 06/17/22 23:30 ahora lo que yo necesito es añadir una columna adicional después de Date que diga "User" , que sería el usuario al que el script le está sacando la informacion, algo asi: Id Type From Subject Date. User ----- ---- -------------------- -------------------------------------------------- -------------- --------------- 1. -2919 conv admin Daily mail report for 2022-06-20 06/20/22 23:30 admin@domain.com 2. -2918 conv admin Daily mail report for 2022-06-19 06/19/22 23:30 3. -2917 conv admin Daily mail report for 2022-06-18 06/18/22 23:30 4. -2916 conv admin Daily mail report for 2022-06-17 06/17/22 23:30 el comando en si que me permite sacar el id de los correos de un usuario es el siguiente: $> zmmailbox -z -m admin@domain.com search -l 4 "in:/inbox" mi super script lo pego en pastebin, tirando para todos los usuarios: https://pastebin.com/Y6NS9arW mas que decir gracias por toda ayuda en la lista. -- rickygm http://gnuforever.homelinux.com
Wenas :) On Tue, Jun 21, 2022 at 7:08 PM Rick Gutierrez <xserverlinux@gmail.com> wrote:
Hola lista , espero que todo esté bien , estoy liado con script que me interesa sacar.
tengo un server de correo en zimbra y necesito sacar los ID de los mensajes de los usuarios, estoy tirando de un script el cual me da la salida de algo asi:
num: 4, more: true
Id Type From Subject Date
----- ---- -------------------- -------------------------------------------------- --------------
1. -2919 conv admin Daily mail report for 2022-06-20 06/20/22 23:30 2. -2918 conv admin Daily mail report for 2022-06-19 06/19/22 23:30 3. -2917 conv admin Daily mail report for 2022-06-18 06/18/22 23:30 4. -2916 conv admin Daily mail report for 2022-06-17 06/17/22 23:30
ahora lo que yo necesito es añadir una columna adicional después de Date que diga "User" , que sería el usuario al que el script le está sacando la informacion, algo asi:
Id Type From Subject Date. User
----- ---- -------------------- -------------------------------------------------- -------------- ---------------
1. -2919 conv admin Daily mail report for 2022-06-20 06/20/22 23:30 admin@domain.com 2. -2918 conv admin Daily mail report for 2022-06-19 06/19/22 23:30 3. -2917 conv admin Daily mail report for 2022-06-18 06/18/22 23:30 4. -2916 conv admin Daily mail report for 2022-06-17 06/17/22 23:30
el comando en si que me permite sacar el id de los correos de un usuario es el siguiente:
$> zmmailbox -z -m admin@domain.com search -l 4 "in:/inbox"
mi super script lo pego en pastebin, tirando para todos los usuarios:
mas que decir gracias por toda ayuda en la lista
Estaba leyendo estos enlaces con documentación a los comandos que estás usando: https://wiki.zimbra.com/wiki/Zmprov https://wiki.zimbra.com/wiki/Zmmailbox Tienen unos subcomandos que a lo mejor ya te dan toda esa información de una sóla vez, como por ejemplo: searchAccounts. No sé si quizás te sería más útil uno de esos subcomandos. La otra cosa es que hay un par de cambios que podrías hacer a tu script. No sé qué devuelven los comandos exactamente, pero tienes 2 grandes opciones: Opcion 1: Dejar la variable USERS tal y como la has definido, pero cambiar un par de cosillas como el grep -v y alguna otra cosa. ----- 8< ----- SNIP ----- 8< ----- #!/usr/bin/env bash USERS='' USERS=$( /opt/zimbra/bin/zmprov -l gaa | grep -vE "(ham.|spam.|virus-quarantine|galsync.)" ) for x in "${USERS}" do echo "usuario: ${x}" /opt/zimbra/bin/zmmailbox -z -m "${x}" search -l 40 "in:/inbox" "${x}" >> /path/mailbox/out.txt done ----- >8 ----- SNAP ----- >8 ----- Opción 2: Declarar la variable USERS como un "indexed array". ----- 8< ----- SNIP ----- 8< ----- #!/usr/bin/env bash USERS='' declare -a USERS=$( /opt/zimbra/bin/zmprov -l gaa | grep -vE "(ham.|spam.|virus-quarantine|galsync.)" ) for x in "${USERS[@]}" do echo "usuario: ${x}" /opt/zimbra/bin/zmmailbox -z -m "${x}" search -l 40 "in:/inbox" "${x}" >> /path/mailbox/out.txt done ----- >8 ----- SNAP ----- >8 ----- HTH Rafa
El mar, 21 jun 2022 a las 16:39, Rafa Griman (<rafagriman@gmail.com>) escribió:
Wenas :)
=
Estaba leyendo estos enlaces con documentación a los comandos que estás usando:
https://wiki.zimbra.com/wiki/Zmprov
https://wiki.zimbra.com/wiki/Zmmailbox
Tienen unos subcomandos que a lo mejor ya te dan toda esa información de una sóla vez, como por ejemplo: searchAccounts. No sé si quizás te sería más útil uno de esos subcomandos.
Rafa lo que pasa es que lo necesito para todos los usuarios , creo que el comando tira para una particular cuenta.
La otra cosa es que hay un par de cambios que podrías hacer a tu script. No sé qué devuelven los comandos exactamente, pero tienes 2 grandes opciones:
Opcion 1: Dejar la variable USERS tal y como la has definido, pero cambiar un par de cosillas como el grep -v y alguna otra cosa.
----- 8< ----- SNIP ----- 8< ----- #!/usr/bin/env bash
USERS=''
USERS=$( /opt/zimbra/bin/zmprov -l gaa | grep -vE "(ham.|spam.|virus-quarantine|galsync.)" )
for x in "${USERS}" do echo "usuario: ${x}" /opt/zimbra/bin/zmmailbox -z -m "${x}" search -l 40 "in:/inbox" "${x}" >> /path/mailbox/out.txt done ----- >8 ----- SNAP ----- >8 -----
Opción 2: Declarar la variable USERS como un "indexed array".
----- 8< ----- SNIP ----- 8< ----- #!/usr/bin/env bash
USERS=''
declare -a USERS=$( /opt/zimbra/bin/zmprov -l gaa | grep -vE "(ham.|spam.|virus-quarantine|galsync.)" )
for x in "${USERS[@]}" do echo "usuario: ${x}" /opt/zimbra/bin/zmmailbox -z -m "${x}" search -l 40 "in:/inbox" "${x}" >> /path/mailbox/out.txt done ----- >8 ----- SNAP ----- >8 -----
HTH
Rafa
probando ambos script me revienta con un mensaje como este al final de correrlo: ERROR: service.INVALID_REQUEST (invalid request: must be valid email address: admin@domain.com info@domain.com soporte@domain.com) . seguire investigando .... -- rickygm http://gnuforever.homelinux.com
participants (2)
-
Rafa Griman
-
Rick Gutierrez