WebMail Pro 8 documentation

User signup for cPanel installation

Generally, WebMail Pro 8 allows for accessing existing email accounts only; creating new mailboxes on mail servers is not available in the product as it's not supported by standard email protocols. Still, it's possible to implement user signup by integrating with specific server software directly, and we did that in our MailSuite Pro mail server bundle. Also, we've had numerous request to add similar functionality on cPanel, and as of version 8.2.16, it is available.

To enable user signup for WebMail Pro 8 installed on cPanel, the following requirements are to be met:

  1. The product has to be installed from standard ZIP package, it will not work for installations deployed with cPanel installer. We provide illustrated guide for installing WebMail Pro 8 on cPanel.

  2. You need to have one or several mail servers added in the product admin area, and in the domains list, include all the domains you wish to enable signup for.

  3. To configure integration with cPanel, you'll need credentials of either your cPanel account, or root password. If you have configured password change for cPanel, you probably have those details supplied already.

Anyway, edit data/settings/modules/CpanelIntegrator.config.json so it looks like this:

{
    "Disabled": [
        false,
        "bool"
    ],
    "CpanelHost": [
        "127.0.0.1",
        "string"
    ],
    "CpanelPort": [
        "2083",
        "string"
    ],
    "CpanelUser": [
        "yourUserHere",
        "string"
    ],
    "CpanelPassword": [
        "yourPassWordHere",
        "string"
    ],
    "UserDefaultQuotaMB": [
        50,
        "int"
    ],
    "SupportedServers": [
        [
            "*"
        ],
        "array"
    ]
}

Make sure CpanelUser and CpanelPassword contain actual credentials of your cPanel account allowed to manage email accounts on the domains you need signup for. If you're using root account, CpanelPort should be set to 2087.

Also, make sure to set UserDefaultQuotaMB value to what you wish to be a default mailbox size.

Signup itself is configured in a different file, data/settings/modules/MailSignup.config.json:

{
    "Disabled": [
        true,
        "bool"
    ],
    "ServerModuleName": [
        "MailSignup",
        "string"
    ],
    "HashModuleName": [
        "signup",
        "string"
    ],
    "CustomLogoUrl": [
        "",
        "string"
    ],
    "InfoText": [
        "",
        "string"
    ],
    "BottomInfoHtmlText": [
        "",
        "string"
    ],
    "DomainList": [
        [],
        "array"
    ]
}

Normally, you'll only need to set Disabled to false there, and supply a list of domains, e.g.:

"DomainList": [
    ["domain1.com", "domain2.com", "domain3.com"],
    "array"
]

All the domains supplied need to be hosted by this particular cPanel server, cPanel user account you supply must be able to manage emails on those domains, and the domains must be listed in "Mail Servers" section of WebMail Pro 8 admin interface.

URL for signup page is obtained by appending #signup to the installation URL. For example, if you have WebMail at http://domain1.com/mail/ the signup page would be http://domain1.com/mail/#signup and the interface would look like this:

Mail signup on cPanel

To complete the registration, user needs to supply display name, login and password. If DomainList has more than one entry, user can select one of those domains from the dropdown list. Upon successful signup, user will be redirected into their account in WebMail Pro 8 interface.

NB: It is strongly recommended to enable reCAPTCHA module to prevent from automated signups.

While by default there's no link for signup page anywhere in WebMail Pro 8 interface, you can add it to the bottom of login page. That's achieved by editing HTML text in BottomInfoHtmlText setting in data/settings/modules/StandardLoginFormWebclient.config configuration file.