I would love if I could click on that tiny little button at the far right of a client email and it automatic loggins to that account so I can see if their is any problem there.
While this drean does not come true I have made this little changes to the ISPConfig 3.0.4.6 so it at least passes the user and host of the client email to the webmail.
(I use Roundcube, so if you use other Webmail, you may need to change the _user and _host variables on the $opts line.)
File: /usr/local/ispconfig/interface/web/mail/webmailer.php
PHP Code:
<?php
require_once('../../lib/config.inc.php');
require_once('../../lib/app.inc.php');
//* Check permissions for module
$app->auth->check_module_permissions('mail');
/* get the id of the mail (must be int!) */
if (!isset($_GET['id'])){
die ("No E-Mail selected!");
}
$emailId = intval($_GET['id']);
/*
* Get the data to connect to the database
*/
$dbData = $app->db->queryOneRecord("SELECT server_id,login FROM mail_user WHERE mailuser_id = " . $emailId);
$serverId = intval($dbData['server_id']);
if ($serverId == 0){
die ("No E-Mail - Server found!");
}
$serverData = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = ".$serverId);
$app->uses('getconf');
$global_config = $app->getconf->get_global_config('mail');
$opts = '?_user='.$dbData['login'].'&_host='.$serverData['server_name'];
if($global_config['webmail_url'] != '') {
header('Location:' . $global_config['webmail_url'].$opts);
} else {
/*
* We only redirect to the login-form, so there is no need, to check any rights
*/
isset($_SERVER['HTTPS'])? $http = 'https' : $http = 'http';
header('Location:' . $http . '://' . $serverData['server_name'] . '/webmail'.$opts);
}
exit;
?>