J’ai demandé son avis à Quentin et pour lui :
l’email c’est vraiment un monde où tu suis la loi de Postel. Donc « be liberal in what you accept, be conservative in what you send ».
Et c’est vrai qu’on est pas mal habitués à pouvoir envoyer des emails sans se soucier de la casse. L’ennui c’est que dans la doc de l’option auth_username_format
, le format que j’aurais aimé avoir (le nom d’utilisateur, sans la partie domaine, en minuscule—une sorte de %Ln
en fait) n’avait pas l’air d’exister.
À force de discuter, Quentin finit par me faire remarquer qu’il existe bien une telle option, et bien plus encore. Tout à coup, tout devint possible !
Restait le problème que je préférais éviter d’autoriser l’authentification avec identifiant CLUB1 en majuscules. Ça aurait rendu la connexion au service email incohérente avec le reste des services/protocoles.
Finalement j’ai trouvé une solution qui me convient parfaitement, en utilisant la syntaxe conditionnelle de Dovecot. On regarde simplement si il s’agit du service lmtp
(le protocole de communication utilisé par Postfix pour délivrer les emails à Dovecot) et si oui, alors on utilise le format %Ln
, si non le format %n
utilisé jusqu’à maintenant :
auth_username_format = %{if;%s;eq;lmtp;%Ln;%n}
De cette manière on arrive bien à trouver l’utilisateur correspondant à l’adresse email, même si elle contient des majuscules, mais on n’autorise pas pour autant à se connecter au service email de CLUB1 avec un nom d’utilisateur contenant des majuscules.
Dans le futur, je pense même rendre cette configuration encore plus stricte en n’autorisant pas la connexion avec l’adresse email complète. En effet, le service email est pour le moment le seul service/protocole qui autorise la connexion avec l’adresse email au lieu de juste l’identifiant, hors ça a justement causé des problèmes dernièrement. Et finalement, une manière plus propre de résoudre ce problème que Onglet "Contacts" cassé dans Roundcube (mail.club1.fr) lorsqu'on rentre l'email complet en nom d'utilisateur #156 , serait d’utiliser %u
au lieu de %n
dans le cas où on est pas en lmtp
. Le seul inconvénient est que ça risque de casser la configuration du client de certains membres CLUB1 qui se seraient connecté avec l’email complet au lieu de juste l’identifiant.