Personal tools


Zimbra Email For WHMCS

From ModulesGarden Wiki
Jump to: navigation, search


About Zimbra Email For WHMCS

Zimbra Email For WHMCS is a module which allows your customers to manage email accounts of your domain directly in WHMCS.

Your clients will be able to conveniently manage mailboxes, email and domain aliases and quickly move to their webmails.
Our product is simple in use and offers everything you need to conveniently manage Zimbra accounts.

  • Admin Area Features:
✔ Create Account
✔ Terminate Account
✔ Change Package
✔ Change Password
✔ Go To Zimbra Webmail
✔ Define Products Configuration:
✔ Set Zimbra Account Settings
✔ Use Class Of Service As:
✔ Fixed Choice
✔ Allowed Single Choice By Clients
✔ Allowed Multiple Choices Of Quota Per Account
✔ Custom Settings
✔ Select Essential Features
✔ Select General Features
✔ Select Mail Service Features
✔ Select Contact/Calendar/Search/S/MIME Features
✔ Set Requirements For Passwords
✔ Select Access To Client Area Features
✔ Generate Default Configurable Options
✔ Enable Metric Billing
✔ Log In To Zimbra Administrator Panel On Click
  • Client Area Features:
✔ Manage Email Accounts:
✔ Create/Edit/Delete
✔ View Creation/Last Login Date
✔ View Mailbox Quota
✔ View/Change Mailbox Status
✔ Change Account Password
✔ Log In To Mailbox
✔ Manage Email Aliases
✔ Manage Distribution Lists
✔ Manage Domain Aliases
✔ Upgrade / Downgrade Account
✔ Go To Zimbra Webmail
  • Configurable Options:
✔ Email Accounts Limit
✔ Email Account Size
✔ Email Aliases Limit
✔ Distribution List Limit
✔ Domain Aliases Limit
✔ Class Of Service
  • General Info:
✔ Configurable Options Support
✔ Integrated With Advanced Billing For WHMCS - Actual Server Resource Usage Billing
✔ Integrated With Server Allocator For WHMCS - Automatic Assignment Of Most Suitable Servers To Products
✔ Multi-Language Support
✔ Supports Zimbra 8.5.0 And Later
✔ Supports PHP 8.1 Back To PHP 7.4
✔ Supports WHMCS Metric Billing - Integration: Email Accounts, Email Aliases, Distribution Lists, Domain Aliases, Storage
✔ Supports WHMCS Server Sync Tool
✔ Supports WHMCS Themes "Six", "Twenty-One" And "Lagom WHMCS Client Theme"
✔ Supports WHMCS V8.10 Back To WHMCS V8.8
✔ Requires ionCube Loader V12 Or Later
✔ Easy Module Upgrade To Open Source Version

Installation and Configuration

This tutorial will show you how to successfully install and configure Zimbra Email For WHMCS.

We will guide you step by step through the whole installation process.

Note: If you still use any of the module's previous versions prior to v2.X, follow these instructions.


1. Log in to our client area and download the module.
ZE2 1.png
2. In the downloaded file you might find one or two packages that support different PHP versions.

In the most recent versions of the module, you will find only one package that supports PHP 7.4 and later.

PHP74 81.png
Previous updates of the module may contain two packages dedicated to various PHP versions.

The first one that supports PHP 5.6 up to PHP 7.3, and the second one addressed to PHP 7.4 up to PHP 8.1.
Note: Keep in mind that PHP versions 5.6 up to 7.3 are no longer officially supported and their security issues are not fixed or released any more. Find more info here.

PHP56 74 81.png
Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'.
3. Extract the package and upload its content into the main WHMCS directory.

The content of the package to upload should look like this.

ZE2 2 2.png
4. When you install Zimbra Email For WHMCS for the first time, you have to rename the 'license_RENAME.php' file.

The file is located in 'modules/servers/zimbraEmail/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

ZE2 3.png
5. In order to configure your license key you have to edit the previously renamed 'license.php' file.

Enter your license key between quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products'.

ZE2 4.png
6. The last step is to set up the 'storage' folder as recursively writable.

This folder is available at '/yourWHMCS/modules/servers/zimbraEmail/'.

ZE2 4 1.png

Server Configuration

7. Now let's configure a new product. Log in to your WHMCS, press 'Setup' 'Products/Services' 'Servers'.

Afterwards, press 'Add New Server'.

ZE2 4 2.png
8. Next, enter your server name and Zimbra server hostname or IP address.

Choose 'ZimbraEmail' from a dropdown menu and type in your username and password used to log in to Zimbra server.
Select 'Secure' if you use SSL for connection. Next, test your connection and press 'Save Changes' if successful.

Keep in mind that value of client area button 'Go To Webmail' is taken from the 'Hostname' field. If the field is empty, it is taken from the 'IP Address' field.
Here you can also provide other server details like nameservers or maximum number of accounts.
Optionally, you may also set custom ports using the 'Override with Custom Port' field. Otherwise the default 7071 will be used.

ZE2 5.png
9. After you configure your server correctly, you will see the following screen.

Now you need to create a new group for your server. For that purpose press 'Create New Group'.

ZE2 6.png
10. Enter name, click on your previously created server, press 'Add' then 'Save Changes'.
ZE2 7.png

Product Configuration

11. In order to create and configure product, click on 'Setup' 'Products/Services' 'Products/Services'.

If you do not have a product group, click on 'Create a New Group'. If you do, simply move to step 12.

ZE2 7 1.png
12. Enter a product group name and press 'Create Group'.
ZE2 8.png
13. When you have a product group, you can create your product and assign it to Zimbra Email. If you already have a product, go to step 14.

To create a product click on 'Create a New Product'.

ZE2 9.png
14. Afterwards, choose your product type and product group from dropdown menus, enter your product name and press 'Continue'.
ZE2 10.png
15. Now, go to the 'Module Settings' section, and choose the previously created server group from dropdown menu.
ZE2 11.png
16. Afterwards, define settings of the module and press 'Save Changes'.

Note 1: If you choose 'Use Custom Settings' from the 'Class Of Service Name' dropdown menu, you can define your own set of user permissions using sections below.
Note 2: If you choose 'Allow clients to choose Class Of Service', additional configurable options can also be generated after saving product changes.
Clients will be allowed to set Class Of Service while ordering your product.

ZE2 12.png
17. If you select 'Allow Clients to choose Class Of Service Quota Per Account' in Class Of Service Name, the new 'Class Of Service For Mailbox Accounts' settings will appear.

Define the number of the accounts limit for each available size. Your clients will be allowed to order a product with limits defined in configurable options and create mailboxes within the defined quota size.
Note: The new 'Configurable Options' based on the above settings will be also available to generate, but they will appear only after saving product changes first!

ZE2 12 1.png
18. Additionally, you can replace the module static limit with dynamic one in the form of configurable options.

Press 'Generate Default' near 'Configurable Options' to generate default set of them.
More about management of configurable options can be found here.

ZE2 13.png
This is what a properly created and configured product should look like from the administrator site.
ZE2 14.png


Let's customize your Zimbra Email For WHMCS and see what features it has in offer.

Admin Area

Zimbra Email product management site:
  1. Go To Webmail
  2. Edit configurable options values - available options depend on configuration in 'Module Settings'
  3. Module Commands:
    • Create
    • Suspend/Unsuspend
    • Terminate
    • Change Package
ZE2 14 1.png

Client Area

Ordering Process

Order page view of a product with the 'Allow clients to choose Class Of Service' option selected:
ZE2 15 1.png
Order page view of a product with the 'Allow Clients to choose Class Of Service Quota Per Account' option selected:
ZE2 15 2.png


Zimbra Email allows your customers to manage their Zimbra email accounts from your WHMCS client area.

This is what its management page looks like in the client area. Move to the below sections to learn more details.

ZE2 15.png

Email Accounts

Email Accounts section enables full management of accounts associated with your domain.

You may edit existing accounts with a wide range of options and create new ones within defined limits.

ZE2 16.png
Press 'Add Mailbox' to create a new account.

Fill out the fields to provide any details on the account owner. Only fields marked with an asterisk are obligatory.
Note: The 'Quota' field is available to select only if Class of service 'Quota Per Account' is used for the product. If the limit has been reached, the client will not be able to create an account.
Important: Remember that password is also verified by Zimbra. It is advised to set up default limits in Zimbra panel, within which the password settings can be modified in the module.

ZE2 17 1.png
If you wish, you can provide more details of a new account in the 'Additional Information' tab, although it is not required for the account creation.
ZE2 17 2.png
You can order various operations on a single account using buttons marked on the screen .

You are allowed to change the account's status and password, log in directly to a mailbox, edit its details or delete it.
Alternatively, you can select multiple accounts and issue command on them as well using buttons above the list of accounts.

Note: The 'Last Login' column shows only the date of the last manual login. When using the "Log In To Mailbox" feature, its date is not registered by the API here.

ZE2 18.png

Email Aliases

Email Aliases enable you to create and use additional addresses for the same e-mail account.

Note: You can pick which domain alias you would like to use for the email alias by selecting it on the dropdown list.
Read more about Domain Aliases below.

ZE2 19.png
ZE2 19 1.png
Any aliases can be quickly removed through pressing an adequate icon or using mass actions.
ZE2 20.png

Distribution Lists

Distribution lists enable you to create and manage them without the necessity to log in to Zimbra panel.
ZE2 21.png
Create them in the same way you would do that in Zimbra panel. Start with entering an email address, then move to assigning members to the list.

Proceed with setting detailed options.

ZE2 22.png
Remember that in order to enable the distribution list on its creation, you must select option 'Can Receive Mail' in the 'Properties' section.
ZE2 23.png
Assign email aliases if you have any.
ZE2 24.png
You may also add/remove owners of the list.
ZE2 25.png
As soon as you set the last preferences, press 'Confirm' to finally create the distribution list.
ZE2 26.png
If you made a mistake while creating a list, you can quickly edit it or remove it completely.
ZE2 27.png

Domain Aliases

Domain Aliases option allows you to create more than one domain name that will refer to the same account.

Add a new domain alias, like on the below screen, and no matter which address used, emails will be delivered to the same mailbox.

ZE2 27 1.png
ZE2 27 2.png
When a domain alias is no longer needed, simply delete it by pressing an icon.
ZE2 27 3.png

Management of Billing

When you combine Zimbra Email For WHMCS with Advanced Billing For WHMCS, you will be able to set up additional billing options.
ZE2 28.png
Module allows you to charge your customers basing on the server resources used by them.

For more detailed information on the configuration please refer to our Advanced Billing For WHMCS documentation.

ZE2 28 1.png
With Advanced Billing module, you can also display the current server resource usage and their cost and let your customers see it.
ZE2 29.png


1. Zimbra Email For WHMCS requires SOAP installed on your server.
2. You can set your own custom ports which will be applied only by clients in order to connect to their accounts when the 'Log In To Mailbox' option is used.

To do so, please go to the file located here <whmcs>/modules/servers/zimbraEmail/app/Config/configuration.yml.
Find the 'clientPortSecure' and 'clientPort' fields and provide the ports used by clients.
Please remember that these ports will be used regardless of the custom port specified in the WHMCS server configuration with Zimbra connection.

3. To update the 'diskusage' table in 'tblhosting' , you need to run the following cron command.
 php -q /your_whmcs/crons/cron.php do --UpdateServerUsage 

How To Use Language Overrides

Incorporating language customizations - the module readily accommodates language overrides, allowing you to tailor the language files to your preferences.
The language file english.php remains unencoded and can be modified to suit your needs. However, it's recommended to avoid altering the core file itself, and instead, leverage the capability of using overrides.
Here's how to apply language overrides:
  • Navigate to the ~/langs/ directory located within the following yourWHMCS/modules/servers/moduleName/langs/ path.
  • Within this directory, create a new file or duplicate the language file you intend to modify. For instance, if you wish to create an override for the English language, establish the following directory structure:
  • Open the newly created override file to edit its contents.
  • At the beginning of the file, indicate the used code, for instance, you can use: <?php for PHP code.
  • Adapt the file content according to your requirements. You can either selectively modify specific variables or opt to revise the entire content of the language file.

For example:

Original yourWHMCS/modules/servers/moduleName/langs/english.php:

 $_LANG['Search'] = 'Search';

Override yourWHMCS/modules/servers/moduleName/langs/overrides/english.php:

 $_LANG['Search'] = 'Look for';
By following these steps, you can seamlessly implement language customizations without altering the core language file, ensuring your changes will not be lost after every module update.

Remember that some of the modules have more than one language file, located under /addons and /servers paths. You may create the override files for both of them.
Note that you do not need to paste all the original content of the lang file into the override file. Enter there only the lines that you wish to change, every other line will be fetched from the original module lang file.
Consequently, the override lang file might include only one or just a few lines.

Update Instructions

An essential guidance through the process of updating the module is offered here.

Important: If you migrate the module from version 1.X to version 2.X, the following steps are needed to be performed additionally:

  1. Open any of your Zimbra product configuration and go to the 'Modules Settings' tab
  2. Then connect to your WHMCS server through the terminal and go to the following directory using cd command in console:
  3. Now run the migration script using the command below:
    php commands.php migration:v1_v2

Upgrade Guide

Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?
There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment.

Opt for the Open Source version of your Zimbra Email For WHMCS module to unlock these benefits.
Simply click on either the Get Source Code or Upgrade To Lifetime button found on the product's page in our client area to complete the one-step upgrade process, with a dedicated discount already applied.

Follow a comprehensive guide covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. If you got 'A problem with module occurred. Please contact the administration' error, please validate the correctness of your module license key first and you may also try to reissue key in your ModulesGarden control panel.

3. The error 'Could not connect to host' is connected with SOAP. To fix it, make sure that port default 7071 is open.
Otherwise you can change the communication port by selecting 'Override with Custom Port' in the Zimbra server configuration.

Note: If you upgraded a module prior to 2.X version, the custom port was given in the 'Access Hash' field, which will no longer be used after the upgrade to 2.X version.

ZE2 30.png
WHMCS Modules
WHMCS Widgets
cPanel Modules
Zimbra Email For WHMCS