8. Integración con RoundCube

Ahora se presenta la siguiente configuración:

  1. Dotar de un servicio de WebMail a los usuarios

  2. Permitir desde este mismo WebMail que los usuarios puedan cambiar su contraseña de accedo al correo.

Como WebMail propongo Roundcube es está escrito en PHP muy estable y además viene como paquete en la distribución Debian 11.

Nota

Para que la configuración propuesta opere correctamente se recomienda tener instalado y configurado correctamente un servidor Web con soporte PHP en la máquina local

La instalación se realiza mediante APT y además, añado paquetes con plugins extras para mejorar la experiencia de usuario:

apt install roundcube roundcube-plugins roundcube-plugins-extras

Tras realizar la instalación la configuración predeterminada permite acceder a los usuarios mediante IMAP hacia localhost, por lo que funciona sin más cambios. La única tarea aquí es la configuración el plugin de cambio de contraseña para hacerla compatible con la configuración MySQL usada. En el fichero /etc/roundcube/plugins/password/config.inc.php se deben establecer estas dos variables correctamente:

Fichero /etc/roundcube/plugins/password/config.inc.php
$config=array();
$config['password_minimum_length'] = 8;
// Conexión con la base de datos donde residen los usuarios virtuales de la infraestructura de correo
$config['password_db_dsn'] = 'mysql://mypanel:clave-secreta@localhost/mypanel';
$config['password_query'] = "UPDATE `mod_exim4_mailboxes` SET `password` = SHA2(%p,256)  WHERE `email` = %u  LIMIT 1;";

Prudencia

Hay que poner la clave MySQL correctamente en la línea resaltada.

El siguiente paso es activar el plugin password, para ello hay que añadirlo al listado de plugins, de paso muestro los que suelo tener activos:

Fichero /etc/roundcube/defaults.inc.php
$config['plugins'] = array( 'emoticons', 'filesystem_attachments',
                            'help', 'newmail_notifier', 'password', 'userinfo',
                            'vcard_attachments', 'zipdownload');

Algunas opciones interesantes que activo son las siguientes:

  • Auto-crear las carpetas mail-dir tras el primer login. Si no se activa pueden ocurrir problemas con la papelera, enviados, etc.

  • Activar el editor HTML de forma predeterminada .

  • Activar el panel inferior de lectura.

Al final del fichero añado lo siguiente:

Fichero /etc/roundcube/defaults.inc.php
// automatically create the above listed default folders on user login
$config['create_default_folders'] = true;

// Idioma
$config['language'] = 'es_ES';

// compose html formatted messages by default
// 0 - never, 1 - always, 2 - on reply to HTML message, 3 - on forward or reply to HTML message
$config['htmleditor'] = 1;

// default setting if preview pane is enabled
$config['preview_pane'] = true;