Roundcube fait certainement partie des webmail les plus utilisés et dynamiques.
Par contre, il peut être très pénible à configurer, surtout si vous voulez proposer du multi-domaine.

En gros, lorsqu'un utilisateur se connecte, il écrit avec une adresse en "@localhost", c'est vraiment moyen si on veut lui répondre :s

Il faudrait le forcer à se connecter en précisant son adresse mail entière, autrement dit pas "toto" mais "toto@ledomaine.fr".
Je pensais que le formulaire roundcube exigerait une adresse mail valide juste avec du html5, mais non.

Heureusement, on peut préciser une expression régulière à laquelle doit correspondre le champ "login". j'en profite pour exiger une adresse mail complète, mais surtout restreindre aux domaines que je peux servir.

Dans la configuration de roundcube, ça donne ça :

//%s correspond au domaine indiqué dans le login
$config['username_domain'] = "%s";
$config['username_domain_forced'] = true;
$config['mail_domain'] = '%s';
// C'est quand même le serveur lui-même qui envoie et récupère les mails
$config['default_host'] = "localhost";
$config['smtp_server'] = 'localhost';
// Le filtre qui va bien sur le login
$config['login_username_filter'] = "/^[a-z0-9_.-]+@(3hg.fr|ouaf.xyz|yeuxdelibad.net)$/";
$config['login_rate_limit'] = 2;

Cette ligne devrait être présente par défaut, c'est bête comme tout et ça filtre pas mal de bruit. Détaillons-là un peu :

$config['login_username_filter'] = "/^[a-z0-9_.-]+@(3hg.fr|ouaf.xyz|yeuxdelibad.net)$/";
  • "^" : on indique le début de l'adresse mail, il n'y a rien avant
  • "[a-z0-9_.-]" : le nom d'utilisateur ne peut être composé que de lettres minuscules, chiffres, underscore et tiret
  • "+" : Les symboles précédents peuvent être répétés un nombre de fois indéterminé.
  • "@" : on exige ce caractère
  • "(domaine.net|autredomaine) : on liste les noms de domaines, séparés par des "|" et le tout entre parenthèses.
  • "$" : c'est la fin, il ne doit rien y avoir ensuite.

Allez zou, je laisse ça là et continue d'aller faire mumuse, le plugin enigma pour le support de gpg semble très intéressant.