Create Bulk Zimbra Users Using Shell Script

Introduction

Managing a Zimbra Collaboration Suite (ZCS) server often involves creating new mail accounts.
Doing this manually one by one can be time-consuming for system administrators.
Instead, we can use a simple shell script to create multiple Zimbra users in bulk
from a CSV file.

Step 1: Prepare a CSV File

Create a file users.csv with the following format:
cd /opt/zimbra/backup/
vim users.csv


    user1@example.com,Password@123
    user2@example.com,Password@123
    user3@example.com,Password@123
    

Step 2: Write a Bulk User Creation Script

Create a shell script create_bulk_users.sh with the following content:
cd /opt/zimbra/backup/
vim create_bulk_users.sh


    #!/bin/bash
    # Bulk user creation in Zimbra
    # Usage: ./create_bulk_users.sh users.csv

    INPUT=$1

    while IFS=',' read -r email password
    do
        echo "Creating user: $email"
        su - zimbra -c "zmprov ca $email $password cn 'User' sn 'User'"
    done < "$INPUT"

    echo "Bulk user creation completed!"
    

Step 3: Make Script Executable


    chmod +x create_bulk_users.sh
    ./create_bulk_users.sh users.csv
    

Step 4: Verify User Accounts

Once executed, you can verify newly created accounts with:


    su - zimbra -c "zmprov -l gaa"
    

Conclusion

This method allows administrators to automate Zimbra user provisioning easily.
The script can be extended to include additional attributes like display name, quota,
or COS (Class of Service) assignment for advanced use cases.

Leave a Reply

Your email address will not be published. Required fields are marked *