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.
