WebMail Pro documentation

Password change in mail server database

Allows users to change passwords on their email accounts, assuming the passwords are stored in a database table.

The plugin provides a functionality stub:

$sPasshash = exec("doveadm pw -s 'ssha512' -p '" . $sPassword . "'");
$sql = "UPDATE mailbox SET password='" . $sPasshash . "' WHERE username='" . $oAccount->IncomingLogin . "'";
$bResult = mysqli_query($mysqlcon, $sql);

In this case, password is hashed using doveadm utility and then updated in the database. You'll need to edit the code to adjust it to your database backend and how passwords are encrypted there.

The module itself is available at:

The standard way of installing a module (taking WebMail Lite as an example of the product built on Aurora framework): Adding modules in WebMail Lite

A simpler approach should also work for installing this module: download its code as ZIP, create modules/ChangePasswordInMailServerDatabasePlugin directory and unpack the contents of archive in there. Press "Update configuration" button in Database Settings screen of adminpanel.

In data/settings/modules/ChangePasswordInMailServerDatabasePlugin.config.json file, you need to supply array of mailserver hostnames or IP addresses the feature is enabled for. If you put "*" item there, it means the feature is enabled for all accounts.

In the same file, you need to provide MySQL credentials used to access the database.

Also, be sure to enable password change frontend module by setting Disabled to false in data/settings/modules/ChangePasswordWebclient.config.json file.