Zimbra CLI Commands: COS | Zimbra

Alert! This article is written for Zimbra OSE users. As of December 2023, Synacor will no longer be providing support for Zimbra OSE. You might want to consider trying out Carbonio Community Edition – Zextras’s free and open-source email and collaboration platform.

For additional guidance, check out our community articles detailing the process of migrating from your current platform to Carbonio CE.

The Class of Service (COS) determines which default attributes an account has and which features are enabled or disallowed. COS controls features, mailbox quotas, message duration, password restrictions, which Zimlets and themes are available from ZWC, attachment blocking, and server pools for new account creation.

A COS is assigned to each account. You can create a domain COS and have all accounts created on this one automatically allocate this COS. You can create multiple COSs and specify which are available for a domain. If the domain does not have a COS defined, the default one is automatically assigned when an account is created.

Note: When you delete a COS, all the accounts that belongs to it are automatically assigned the default one.


Now we are going to see some zmprov CLI commands to manage COS. As usual, for every command, we will show you the extendend and short form, the syntax to be used and an example to better help you understand how it works.

Remember that all commands are intended to be executed logging in as Zimbra user, with the command: su - zimbra

Create Class of Service:

To create COS you need to use CreateCOS (cc) with the following syntax:

zmprov CreateCOS {name} [attribute1 value1 etc]


zmprov createCos SampleService zimbraAttachmentsBlocked FALSE zimbraAuthTokenLifetime 60m zimbraMailQuota 100000000 zimbraMailMessageLifetime 0

Delete Class of Service:

To delete COS you need to use DeleteCOS (dc) with the following syntax:

zmprov DeleteCOS {name|id}


zmprov DeleteCOS SampleService

Get Class of Service:

To get COS you need to use GetCOS (gc) with the following syntax:

zmprov GetCOS {name|id}


zmprov GetCOS SampleService

Get All Class of Service:

To get all COS you need to use GetAllCOS (gac) with the following syntax:

zmprov GetAllCOS [-v]

The -v attribute, stands for verbose. Verbose mode dumps full exception stack trace

Modify Class of Service:

To modify COS you need to use ModifyCOS (mc) with the following syntax:

zmprov ModifyCOS {name|id} [attribute1 value1 etc]


zmprov ModifyCOS SampleService zimbraAttachmentsBlocked TRUE

Rename Class of Service:

To rename COS you need to use RenameCOS (rc) with the following syntax:

zmprov RenameCOS {name|id} {newName}


zmprov RenameCOS SampleService NewSampleService
Download Zextras Suite for Zimbra OSE

Post your comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Zextras Suite 3.1.9 | Blog
Zimbra CLI Commands: Distribution List | Zimbra