Getting closer I think. Looks like the Query is the main issue. Would be nice if the config had a few query examples and notes commented in it for reference.
So I switched the default that was there:
$rcmail_config['password_query'] = 'SELECT update_passwd(%c, %u)';
and changed it to:
$rcmail_config['password_query'] = "UPDATE `mailbox` SET `password` = %c, modified=now() WHERE `username` = %u LIMIT 1";
And now I see an error that says the table does not exist. Specifically:
Table 'zpanel_roundcube.mailbox' doesn't exist (SQL Query: UPDATE `mailbox` SET `password` = '<encoded password>', modified=now() WHERE `username` = '<user>@<domain>' LIMIT 1)
The issue now appears to be that it thinks the SQL table is in a DB called 'zpanel_roundcube', but the mailbox table with the passwords is actually in a DB called 'zpanel_postfix'
I really don't want to specify the db in the Query. I would like to figure out where it is getting the variable set as 'zpanel_roundcube' and change it there as it likely is used elsewhere too.
Any ideas?
Update: Nevermind, when I give the db name in the QUERY, it still uses the variable somewhere and appends 'zpanel_roundcube' to the query no matter what.