Aller au contenu

Capmail 2.0.4 : sécurité, droits et dossiers IMAP

Projet : Capmail Éditeur : CAP-REL Version : 2.0.4 Date : Dolibarr 18 et supérieur

Sécurité stable annoncée il y a 29 jours compatibilité déclarée

Capmail 2.0.4 est une version de sécurité et de fiabilité. Elle n'ajoute pas d'interface : elle durcit l'ensemble des accès et corrige des défauts qui empêchaient le module de fonctionner chez certains hébergeurs. Elle reprend aussi les changements de la 2.0.3, qui n'avait pas été publiée.

La mise à jour est recommandée pour toutes les installations, et particulièrement pour celles qui exploitent Capmail en multi-société ou qui accordent des droits différenciés sur plusieurs boîtes.

Sécurité

Une revue complète des accès a été menée.

  • Cloisonnement multi-société : messages, boîtes mail, profils d'expéditeur et étiquettes sont désormais filtrés par entité au niveau du module, au lieu de dépendre d'un filtrage indirect par la boîte mail.
  • Matrice des droits appliquée partout : les droits par utilisateur et par boîte sont vérifiés aussi sur les actions de masse, sur l'onglet Capmail de la fiche tiers, sur les identifiants transmis par les formulaires et sur le téléchargement des pièces jointes.
  • Jeton anti-CSRF exigé sur les actions qui modifient des données.
  • Assainissement du HTML des courriels avant affichage dans l'éditeur de réponse, à l'impression et dans les sélecteurs de modèles.
  • Modèles et profils d'expéditeur privés réellement limités à leur propriétaire.
  • Durcissement du traitement des pièces jointes, des entêtes des fichiers EML et des sujets.
  • Le contrôleur REST vérifie l'entité, les droits sur la boîte et la confidentialité ; les points d'entrée internes sont bloqués et les certificats TLS validés.

Matrice des droits par utilisateur et par boîte mail

Les accents ne sont plus perdus

Un sujet contenant des accents était amputé de ses caractères accentués : Demande de réservation à Nîmes était enregistré sans ses accents ni les lettres correspondantes. Le sujet était décodé deux fois, et le second passage supprimait tout caractère non ASCII.

C'est corrigé pour les nouveaux messages. Les messages déjà reçus gardent le sujet tronqué enregistré à l'époque.

La détection de l'expéditeur a également été améliorée, notamment lorsque son adresse appartient au domaine de messagerie de la société.

Dossiers IMAP : trois cas qui ne fonctionnaient pas

Le symptôme était toujours le même : Capmail considérait un dossier comme inexistant, la copie dans le dossier des messages envoyés était abandonnée sans erreur visible, et l'archivage tentait de recréer des dossiers déjà présents.

  • Serveurs utilisant un point comme séparateur (OVH MX Plan et beaucoup de serveurs Dovecot) : un chemin comme INBOX.Sent n'était pas reconnu.
  • Dossiers dont le nom contient un accent : les noms de dossiers circulent dans un encodage particulier que le module ne décodait pas.
  • Noms de dossiers ambigus, deux dossiers portant le même nom sous des parents différents : le module en choisissait un au hasard. Il signale maintenant l'ambiguïté et invite à saisir le chemin complet.

Deux nouveaux outils d'administration

Le bouton Détecter les dossiers, sur la fiche d'une boîte, interroge le serveur, compare la configuration à la réalité et propose les bonnes valeurs à partir des attributs standard publiés par le serveur. Appliquer les dossiers détectés les enregistre. C'est désormais la méthode recommandée : les conventions varient beaucoup d'un hébergeur à l'autre.

L'onglet Avancé ajoute la réparation des dossiers au préfixe dupliqué, du type INBOX.INBOX.Sent. Invisibles dans la plupart des webmails, ils accumulent du courrier que personne ne lit. L'outil déplace leurs messages vers le bon chemin, supprime le dossier vidé et corrige les références internes ; une simulation montre ce qui serait fait, et le dossier n'est supprimé qu'une fois ses messages effectivement déplacés.

Écran d'administration de Capmail

Envoi : STARTTLS et certificats

  • STARTTLS est réellement proposé pour le SMTP d'une boîte. L'option manquait dans le formulaire, ce qui rendait inutilisable tout serveur n'offrant que le port 587.
  • Le test de connexion SMTP authentifie. Il s'arrêtait avant l'authentification : un mot de passe erroné était annoncé comme un succès, et la panne n'apparaissait qu'au premier envoi.
  • La validation du certificat TLS devient un réglage par boîte, activée par défaut. La désactiver permet d'utiliser un serveur à certificat auto-signé, cas courant en auto-hébergement.

Compatibilité par hébergeur

Les limites réelles ont été vérifiées service par service :

  • OVH, Free et les serveurs Dovecot fonctionnent ;
  • Gmail fonctionne avec un mot de passe d'application obligatoire ;
  • Outlook.com et Microsoft 365 ne sont pas supportés : Microsoft a supprimé l'authentification par mot de passe et n'accepte plus qu'OAuth2, que le module ne gère pas ;
  • Proton Mail n'est pas supporté : aucun serveur IMAP public n'est exposé.

Mise à jour

Deux évolutions de la base sont appliquées à la réactivation du module : désactivez puis réactivez Capmail après avoir déposé les fichiers. Aucune action n'est nécessaire sur les boîtes existantes. Si des dossiers manquaient ou si la copie dans les messages envoyés ne se faisait pas, lancez Détecter les dossiers sur chaque boîte.

Pour les développeurs

Le module expose des hooks et des triggers pour les modules tiers, amorce une intégration avec dolipocket, et ajoute une campagne de tests automatisés contre de vrais serveurs IMAP et SMTP, en plus des tests d'isolation par entité et d'autorisation.