Do you have SSH access to your cPanel server? can you please check if you have this file in your server?
/usr/local/cpanel/base/dowebmailpasswd.cgi
This file comes with all the cPanel installations. And its needed to install the plugin. I just want to be sure if you have it as I do.
I am hosted on site5 with a shared server and I could not find the file in sitemanager or by ftp. I have requested shell access but I have no idea how to use that thing. However I have a piece of code that might be help you write this plugin for even those that do not have shell access.It works by logining into cpanel and then changing password and closing file. It can be amde to redirect to inbox or wherever.
Changepass.php-- just a form.
<?php //changepass.php?>
<style type="text/css">
td
{
color: #014D5F;
}
</style>
<table cellpadding="2" cellspacing="2" border="0" align="center">
<tr><td> Change Password</td></tr>
</table>
<form name="emsignup" method="POST" action="cppass.php" autocomplete="off">
<table cellpadding="5" cellspacing="2" border="0" align="center">
</td>
</tr>
<tr>
<td bgcolor="#DDDDDD">User Name: </td><td bgcolor="#DDDDDD"><input type="text" name="NewEmail"> </td>
</tr>
<tr>
<td bgcolor="#DDDDDD">New Password: </td><td bgcolor="#DDDDDD"><input type="text" name="Password"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Change" class="button"></td>
</tr>
</table>
</form>
The guts:
cppass.php
//cppass.php
// cPanel info
$cpuser = 'username'; // cPanel username
$cppass = 'password'; // cPanel password
$cpdomain = 'domain.com'; // cPanel domain or IP
$cpskin = 'skin'; // cPanel skin. Mostly x or x2, na4 etc
$edomain = 'domain.com'; // email domain (usually same as cPanel domain above)
$euser = $_POST['NewEmail'];
$epass = $_POST['Password'];
if ( $euser == "" OR $epass == "" ) {
$ermsg = "All fields of the form must be completed.";
}
###############################################################
# END OF SETTINGS
###############################################################
// change password of entered email account
$f = fopen ("http://$cpuser:$cppass@$cpdomain:2082/frontend/$cpskin/mail/poppasswordchanged.html?email=$euser&domain=$edomain&password=$epass", "r");
// note the 'poppasswordchanged.html' changes depending on your cp version
if (!$f) {
die('Cannot change password. Possible reasons: "fopen" function allowed on your server, PHP is running in SAFE mode');
}
// Check result
while (!feof ($f)) {
$line = fgets ($f, 1024);
if (ereg ("already exists!", $line, $out)) {
die('Such email account already exists.');
}
}
fclose($f);
echo "Password for $euser@$edomain has been changed to $epass.";
?>
I think finding a way to include this in RC will make it much easier tha SSH or telnet. On the pretty password change they have a file called password.inc in program/steps/settings/passwd.inc , where I think you can incorprate this code. Just get username and domain from RC and have user enter new password log them into cp and change their password and redirect to inbox or back to settings.
Now if only I coud do that