====== Zimbra Command Line Tools ====== http://wiki.zimbra.com/wiki/Zmmailbox http://wiki.zimbra.com/wiki/Zmprov_Examples http://wiki.zimbra.com/wiki/Administration_Console_and_CLI_Certificate_Tools ===== Delete All Mail in a Folder ===== First, you might want to move all folders you want to delete, then run the following command on "/Trash". zmmailbox -z -m admin@domain.com emptyFolder /foldernamelikeInbox ===== Delete All Mail in an Account ===== :!: The above command may be less dangerous to use, but may be a little more work. :!: Lightly tested - Throws a couple of errors, but seems to work OK. export ACCOUNT="username@mydomain.com" for FOLDER in `zmmailbox -z -m $ACCOUNT gaf |awk '/\// {print $5}'|sort|uniq` ; do zmmailbox -z -m $ACCOUNT emptyFolder $FOLDER ; done unset ACCOUNT ===== List All Users ===== https://dilliganesh.wordpress.com/2014/03/23/list-out-all-account-in-zimbra/ su - zimbra zmprov -l gaa | grep -v -e galsync -e spam -e ham -e virus | sort > /tmp/zimbra_users.txt For a domain: zmprov -l gaa yourdomain.tld | grep -v -e galsync -e spam -e ham -e virus | sort > /tmp/yourdomain_users.txt ===== Get All Addresses ===== **get-all-addresses.sh** #!/bin/bash set -o nounset # exit on unset variables set -o errexit # exit if command exits with non-zero value if [ "$(whoami)" != "zimbra" ]; then echo "This script must be run as the zimbra user." exit 1 fi RESULTS=( $(zmprov -l gaa -v | grep -E "zimbraMailAlias|zimbraMailDeliveryAddress" ) ) EMAILS=( ${RESULTS[@]/zimbraMail*/} ) for EMAIL in "${EMAILS[@]}"; do echo "$EMAIL" done zmprov gadl ===== Manage CoS ===== :!: ''defaultExternal'' can't be used for regular accounts. Show all CoS: zmprov gac Enable a zimlet for all CoS: for cos in `zmprov gac`;do zmzimletctl acl $cos grant; done Modify a setting for all CoS: for cos in `zmprov gac`; do zmprov mc $cos zimbraFeatureResetPasswordStatus enabled; done Show accounts per Class of Service: zmprov cta domain.tld Change the CoS for an account: zmprov sac user@domain.tld another-cos