Community Knowledge Base

Base WHMCS SmarterMail Provisioning Module

Package Description

The WHMCS SmarterMail module is an open source module developed in PHP that integrates SmarterMail as an add-on into WHMCS that can be attached to Product/Services to provision SmarterMail domains as well as point MX and CNAME records on WHM/CPANEL to a SmarterMail server using standard settings across all WHMCS users.

Package Goals

The primary goal of the WHMCS SmarterMail module was to reduce server administrator labor. Previously, MX and CNAME records would have to be entered manually, as well as the domain creation in SmarterMail. With the module installed, the whole process is automated. Not only is everything created for you on initialization, but also for suspending, deleting, un-suspending, and terminating.

The package provides the following services:

  • Create, Suspend, UnSuspend, Terminate, and Delete Domains from a SmarterMail server using a standard set of defaults.
  • Multiple SmarterMail Server Support with Management side interface for adding, deleting, suspending, unsuspending SmarterMail servers as well as setting max domain levels per server.
  • Client side link to SmarterMail login.
  • SSL support.


  • Existing installation of WHMCS (version 5.0 and above)
  • Existing installation of WHM/CPanel
  • Licensed installation of SmarterMail

Installing the SmarterMail Module

Installing the SmarterMail module is no different than installing any modules within WHMCS. Below are the steps necessary to get a SmarterMail installation added to WHMCS.

  1. Extract the SmarterMail module
  2. Place contents in your WHMCS directory under "..modules/addons/smartermail"
  3. Navigate to http(s)://
  4. Click "Activate" next to the SmarterMail Provisioning Module
  5. Go back to http(s)://
  6. Click "Add New Add On"
  7. Set desired add-on settings and make sure you attach to at least one product/service
  8. Next, find the Addon ID
    • If this is the first add-on created in this WHMCS instance, then the ID will be 1.
    • If there are multiple add-ons in WHMCS, you may need to look in the database to find out the SmarterMail add-on ID.
      • To find the add-on ID in the database, use a MySQL database tool like MySQL Workbench
      • Connect to your database and run the following query:
        SELECT FROM yourDatabaseName.tblAddons as addontable WHERE
        Make sure you replace 'yourDatabaseName' with the name of your database and 'yourAddonName' with the name of the add-on you created in Steps 6 - 7.
  9. Go back to http(s)://
  10. Click "Configure" (it's to the right of "Activate")
  11. Fill in the Addon ID you found in Step 8
  12. Check "Module Logging" (you can turn this off later when everything is running smoothly or simply leave it running indefinitely)
  13. Check "SSL" if your WHMCS address begins with 'https://'
  14. If you want to give specific Roles the ability to modify the SmarterMail servers from within the management interface of WHMCS, select them from the list
  15. Click "Save Changes" and that's it! The SmarterMail module is installed and you can now configure SmarterMail servers

Configuring Servers

Once the SmarterMail module is installed, you can begin adding new mail servers to your WHMCS installation and begin provisioning domains and mailboxes within SmarterMail.

  1. Navigate to http(s)://
  2. Here, you're presented with the SmarterMail server interface. This is where you create, suspend, set max domain counts and delete SmarterMail servers
  3. Click "New Server"
  4. Fill in the following settings:
    • Server Name - The friendly name for your SmarterMail server within WHMCS
    • Server URL - The domain name and URL of the server. (E.g.,
    • Domain Path - The path on the server where you store the Domain folders. (E.g., c:\\SmarterMail\Domains)
    • Server Admin Username - The administrator username for this server
    • Server Admin Password - The password associated with the Server Admin Username
    • Max Domains - The maximum number of domains allowed on the server
    • Status - The status of the server. Note: Only "Active" servers will allow provisioning of domains
  5. Click "Submit" to create the new server
  6. You can now test provisioning domains and accounts in SmarterMail
  7. If you experience problems, and Module Logging is enabled, you can go to http(s):// to check the error logs