Alors pour les gens qui utilisent encore POP et qui ont un Thunderbird qui se met à jour tout seul comme souvent sur les Windows, si subitement sans rien remarquer de différent et sans message d'erreur çamarcheplus™, la raison pourrait être que Thunderbird 78 désactive par défaut TLS < 1.2 et que certains fournisseurs comme ici Free n'ont pas mieux que TLS 1.1 sur POP !
Trois "solutions" toutes crades :
J'ai choisis la dernière solution, bien crade mais moins relou à distance… et entre un TLS troué ou pas de TLS sur une ligne FAI vers un service FAI… dans tous les cas c'est pas ouf.
Si seulement TB pouvait au minimum afficher un message d'erreur, même incompréhensible… on aurait au moins un point de départ…
Cacher un exchange où les administrateurs n'ont pas activé IMAP derrière davmail, ça devient presque supportable niveau réactivité quand on passe en accès EWS au lieu du webdav, comme suggéré sur le lien ci-lié.
Attention, ne pas mettre d'espace après l'URL :-' https://sourceforge.net/p/davmail/mailman/message/33184515/
Ennuyé d'avoir à utiliser du Outlook/OWA/Exchange pour gérer sa boite mail d'une entité full-Microsoft ?
J'avais testé il y a plus de 5 ans davmail sur mon poste de stagiaire mais plutôt pas très concluant… il me semble que ça fonctionnait un peu mais que j'avais des problèmes, en tous cas j'avais laissé tombé et me suis farcis OWA depuis (et c'est bien bien relou).
L'autre jour en discutant avec un autre utilisateur de ce système, il m'a expliqué qu'il utilisait davmail sur son poste directement, et j'ai re-regardé un peu.
Il y a même un mode serveur. Aujourd'hui, je me suis dit que c'était le moment de tenter, et j'ai fait rapidement une petite VM sur mon desktop à la maison avec une Alpine basique et ça…
Tout a fonctionné comme sur des roulettes. La seule chose que j'ai changé de la configuration d'exemple à part les spécificités de connexion, c'est l'activation d'IMAP IDLE, qui derrière faire un polling… j'ai mis une minute pour mimer le comportement de l'interface web qui est instantanée. S'ils sont pas content de la charge ils avaient qu'à cocher la case IMAP dans leur Exchange, chose que je réclame régulièrement depuis le début sans succès.
Donc voilà, Exchange/OWA/Outlook on peut rendre ça compatible avec le rste du monde via davmail. Ça reste tout aussi crade derrière mais un peu plus utilisable, puisqu'on peut utiliser un vrai client mail (je découvre Thunderbird dans la foulée…).
Pour ouvrir à plus de gens, il resterait à chiffrer les communications entre le client et davmail, il y a les options mais je me suis pas encore foulé avec les certificats puisque pour l'instant ça ne sort pas de mon PC…
Quand on essaye d'envoyer un mail avec openssl s_client, au moment de faire un RCPT TO, on a perdu : s_client voit la commande 'R' et essaye de renégocier la session TLS…
Donc bon à savoir : openssl essaye d'interpréter ce qu'on envoit…
(là on contourne avec rcpt au lieu de RCPT et lala)
Si certains mails ne passent pas, supposément parce qu'ils sont en "userunix@localhost" et ce même si le header From: est juste, c'est probablement une histoire de Sender/Return-Path, eux aussi validés par les MTA.
504 5.5.2 wp@localhost: Sender address rejected: need fully-qualified address
Il ne faut pas s'acharner sur mail/sendmail/php mail(). Ce champ est ajouté par le MTA local.
Plusieurs options sont listées dans la page liée. Pour moi, il a suffit de corriger /etc/mailname en mettant quelque chose de valide (oui j'aurais pu y penser au début, avant de passer 2h sur le problème…).
Lorsqu'on configure la réplication dans dovecot, on peut donner un intervalle uid_min / uid_max de filtre sur les utilisateurs qui seront synchronisés.
Sauf que si la synchro a déjà fonctionné mais qu'on modifie ces limites après (par exemple on a des erreurs sur l'utilisateur "nobody"), dovecot continue s'en préoccuper. En fait apparemment il "retient" qui est concerné par la réplication.
Il suffit de :
doveadm replicator remove nobody
pour s'en débarrasser ! Je n'avais pas trouvé, mais là en replongeant dans ma configuration ces erreurs faisaient un peu trop de bruit dans les logs… et je suis tombé rapidement sur ce mail.
Liste des utilisateurs qui seront synchronisés :
doveadm replicator status ' '*'
J'ai testé pour vous : mlmmj (Mailing List Management Made Joyful).
Alors oui, il y a mailman (et même mailman3 depuis plus d'un an), sympa… tous avec leurs problèmes, leur côté usine (surtout mailman3 parait-il).
J'avais vu passer sur IRC qu'il en existait au moins un autre, sans daemon, en C et je crois bien que c'était mlmmj. :)
J'ai fait tomber cela en marche avec du postfix, en utilisant les paquets de Debian 8 Jessie sans trop de soucis. Ça juste fonctionne, au moins le basique. Et on a même l'impression de comprendre ce qu'il se passe, de maîtriser la bête.
Pour l'interface web, c'est du super minimal (pas d'auth, ni CSS). Il faut un peu bidouiller les permissions pour arriver à concillier les deux (mais c'est documenté dans les README des paquets). La configuration ? Des fichiers texte dans le dossier des listes. Un booléen à activer ? touch du fichier qui va bien. Les adresses qui ont souscrit ? fichiers textes indéxés sur la première lettre, dans subscribers.d ! Quand je disais "simple" :)
Je pense que ça peut être très bien si on est prêt à partir sur du minimaliste. Il faut probablement éviter si on veut du fancy pour administrateurs de listes non-tech par exemple.
Notes :
À savoir : postfix retient les filtres à appliquer aux mails en attente, même si on les supprime de la config. Donc en gros si on a un filter (amavis) dans les choux, qu'on le supprime de la config pour débloquer le problème, puis qu'on flush les mails, çamarchepas™. Il faut faire comme ici, postsuper -r ALL !
Petit outil packagé dans Debian pour convertir le format proprio alakon Outlook pst en vrais formats standards. Par défaut on a un mbox.
readpst dell.pst
Petit script python de déduplication de messages par IMAP. Marque juste les messages comme "deleted". Il y a relativement pas mal d'options, et un no-op (-n) assez explicite, avec lequel on peut tout contrôler avant de lancer définitivement (option -v pour tout avoir).
Perso j'ai utilisé :
./imapdedup.py -s 192.168.1.13 -u john -x -c -m ARN INBOX
Attention à l'ordre, il lit les dossier dans l'ordre, donc d'abord ARN puis INBOX. Donc les messages dupliqués/supprimés seront ceux d'INBOX.
Exemples de sorties :
Message INBOX_1905 is a duplicate of ARN_2642 and would be marked as deleted
If you had not selected the 'dry-run' option,
85 messages would now be marked as 'deleted'.
There are now 4679 messages marked as deleted and 1633 others in INBOX.
La commande de déduplication de dovecot ne fait qu'une partie du travail à la fois (genre 30 mails). J'ai pas trop compris pourquoi, mais un strace montre qu'il regarde /proc/meminfo avant de quitter. Ici quelqu'un d'autre a ce problème.
En regardant vite-fait dans les sources, on trouve :
pool = pool_alloconly_create("deduplicate", 10240);
Est-ce que ce pool est extensible ? Aucune idée. Mais effectivement, si la hash table utilisée pour retenir les références à comparer est limitée à ça, 10ko ça va être juste. Ce n'est qu'une hypothèse.
Perso j'ai bourriné :
for ((i=0; i<500; i++)); do doveadm deduplicate -m -u john mailbox INBOX; done
Dovecot a même une commande pour dédupliquer les messages d'une même boîte aux lettres (un seul dossier) directement. On peut l'utiliser si on a par exemple mis en place une réplication mais que les deux boîtes aux lettres avaient déjà été remplies auparavant.
Réplication avec dovecot : j'ai enfin mis en place chez moi entre une VM et mon serveur @home. J'avais déjà dit ici que ça fonctionnait, voici quelques précisions.
J'ai mis le plus gros de la config (donnée sur la page liée) dans le local.conf, comme ça c'est propre (il n'y a pas de section prédéfinie dans conf.d pour tout).
Ne pas oublie d'activer les plugins dans 10-mail.conf sinon "holol ça sync pas".
Pour la synchro, si on n'a pas envie de jouer avec des clefs SSH, surtout pas en root, le dsync over TCP + TLS semble acceptable (protégé par un mot de passe partagé). Par contre il faut que les certificats soient reconnus (qu'on fasse confiance au CA qui l'a émis). Et bien sûr, le nom de domaine utilisé doit match celui du certificat.
La réplication réplique aussi les règles sieve (au premier resync suivant une modif). Il suffit donc juste d'installer les paquets et d'activer les modules sur la 2e machine pour que ça fonctionne.
Déclenchement d'une synchro : doveadm sync -u john tcps:serveur_en_face:12345
Ne pas oublier qu'il y a aussi un cache des adresses dans postfix… quand c'est lui qui garde la réponse (négative par exemple, quand on a oublié un bout de conf), ça sert à rien de s'acharner sur le backend…
En cherchant "relay" dans la conf de postfix pour trouver comment faire un smarthost (obligé car port 25 bloqué), je suis tombé sur "smtp_fallback_relay". En gros, comme un smarthost, mais en cas d'erreur auparavant.
Du coup, en v6 (pas bloqué) je parle directement aux serveurs mails, en v4 je passe par un relais.
Un petit coup d'iptables en passant pour REJECT le port 25 au lieu de DROP par le FAI pour éviter les timeout, c'est tout bon (enfin autant que cela puisse être avec un port 25 bloqué…).
C'est pas que je sois pressé de nature mais les petits lags dans une UI ça donne une impression de "truc qui déconne". C'est ce qu'il se passe dans mutt quand on change de mailbox, il y a un délai pour qu'on ait le temps de voir le message. Ci-lié comment désactiver ça :
set sleep_time=0
J'avais besoin d'une implémentation de "sendmail" simple, qui ne prenne pas un port, et ne demande pas de configuration autre qu'un relais à utiliser. Je me suis rappelé avoir vu passer "ssmtp", un petit MTA de rien du tout fait justement pour ça. Nickel si on a par exemple un conteneur mail tout bien configuré et qu'on veut permettre à d'autres conteneurs de sortir sans gérer d'autre serveur de mail. Packagé dans Debian (qui est même upstream apparemment).
Un webmail complètement inconnu, standalone, packagé dans Debian et en C. Trouvé par hasard en faisant des recherches sur squirrelmail avec :
aptitude search '~Ginterface::web ~Gmail::imap'
Le fichier de conf a une tonne d'options. Le look est très années 90. Ça marche assez rapidement avec une connexion en imap vers du dovecot. Je préfère largement mutt ou claws-mail mais l'idée du webmail est juste pour dépanner donc pourquoi pas. Le seul hic c'est le côté ancien et le troll sur les serveurs web standalone. testssl.sh est pas trop mécontent côté chiffrement donc bon…
EDIT : ah et aussi, il met sa conf directement dans un dossier sur le compte mail utilisé. Du coup, pas de config à gérer à part (ni de SGBD ou autres) mais il y a un dossier qui traine.
EDIT2 : pas de support SMTP apparemment, mais si on le met dans un conteneur à part, il suffit d'utiliser ssmtp et zou, encore plus léger et simple :)
Quand on veut migrer sa boite mail et qu'on n'avait pas de filtres sieve avant, on peut vouloir relancer le filtrage sur toute une boite mail déjà délivrée.
Ici un super tuto sur l'utilisation de sieve-filter (fourni par pigeonhole, l'implémentation sieve de dovecot), avec beaucoup d'explications.
Au final, pour moi ça donne ça :
sieve-filter -e -W -v -C -u john /home/john/.dovecot.sieve INBOX
Script bash de test de configuration SSL/TLS d'un serveur. Probablement moins complet que ssllab.com mais au moins c'est pas un service en ligne et la sortie est quand même joliment colorée et lisible.
Pour une discussion et des exemples de config, voir par exemple http://shaarli.guiguishow.info/?GPqmpA