On vient au galop à l'appel de Lexpage    —  Loseman

Discussions

Anti spam pour mails

Guybrush 8343 Bob
Bonjour à tous,

Depuis quelques jours maintenant, je reçois une quantité phénoménale de spams (plus de 10 par heures, alors que je tournais aux alentours de 10 par jour avant cela !). Actuellement, le compte concerné est enregistré chez OVH et il y a une protection simple appliquée par OVH, qui tag automatiquement les spams en ajoutant "[SPAM]" dans le sujet du message.

C'est relativement efficace (peu de spams passent au travers), mais il y a quelques faux positifs. A cause de ces faux positifs, je ne souhaite pas appliquer l'autre niveau de protection qui consiste à supprimer automatiquement les e-mails considérés comme du spam.

Dans une configuration d'usage classique, ce n'est pas problématique : mon client mail (Thunderbird) détecte automatiquement les spams (surtout s'ils sont taggués [SPAM], ça aide !) et les déplace dans un répertoire "Indésirables" localement, tout en les marquant comme lus. Le souci, c'est que sous Android, le client mail de base n'a aucun support pour les indésirables, ni aucun support pour des règles de messages. Ce qui fait que si je n'allume pas Thunderbird régulièrement, je me retrouve avec un nombre impressionnant de spams téléchargés sur mon téléphone, qu'il faut que je filtre manuellement.

J'ai déjà fait un peu le tour des clients Android alternatifs, et je n'ai pas trouvé mon bonheur (soit bien trop complexe, soit une intégration avec les réseaux sociaux dont je n'ai que faire, mais qui est envahissante, soit de la publicité en permanence dès qu'on ouvre un mail, etc. etc.).

En alternative, je me dis qu'il serait judicieux d'appliquer le même traitement que Thunderbird, mais directement via IMAP : un mail détecté comme spam (ou simplement taggué par OVH) serait alors automatiquement déplacé vers le répertoire "Indésirables", de sorte à ce que quelque soit le client qui consulte la messagerie, le résultat soit le même (et si le message est marqué comme lu au passage, je n'aurai même pas une notification sous Android).

Et là, je coince : je ne sais pas quoi utiliser ni vers quoi me diriger. Idéalement, il faudrait que j'intercepte les e-mails le plus tôt possible (de sorte à pouvoir les trier automatiquement avant qu'ils ne soient récupérés par mon client mail dont le pooling est en général situé entre 10 et 15 minutes). Je ne suis pas autorisé, malheureusement, à changer les serveurs MX (car ça affecterait l'ensemble des comptes enregistrés), mais par contre, en dernier recours (car ça me semble un poil plus embêtant en terme d'architecture), je peux éventuellement configurer un nouveau serveur IMAP qui vient s'intercaler entre le serveur d'OVH et mon client mail (et que je peux héberger sur le VPS du Lexpage, sachant que s'il venait à lâcher, il me sera toujours possible de consulter mes e-mails en interrogeant directement l'IMAP d'OVH).

Avez-vous une expérience ou des variantes de solutions à proposer ?
Guybrush 8343 Bob
A priori, il y aurait moyen de partir sur quelque chose à base de linux.die.net/man/5/imap… qui pourrait tourner sur le VPS. Les règles sont simples à écrire (en gros récent + non-lus + contient "[SPAM]" dans le sujet), et les actions aussi (déplacer vers indésirables + marquer comme lus).

Le seul souci, c'est de devoir placer ça dans un cron et de choisir un intervalle de pooling adéquat. Je n'ai rien vu permettant de maintenir une connexion en permanence vers l'IMAP (pour une sorte de "hook" à la réception de message). Y a pas quelque chose de "conventionnel" ou standard pour faire du PUSH sur des emails ?
Guybrush 8343 Bob
Lexpage se perd !! Il y a quelques années à peine, ça aurait dégénéré en une conversation de geeks qui n'aurait plus rien à voir avec le sujet original (mais on y aurait répondu quand même, hein, je vous vois venir !!).
Sysson 1402 Spammeur
J'ai pas mal d'expérience en hosting de mails à base de postfix/dovecot, sieve pour le filtering et dspam pour l'antispam. Au vu de ça j'ai du mal à voir ce que tu pourrais faire tout en laissant tes mails chez ovh. Peut-être un truc à base de imapsync en crontab.
Guybrush 8343 Bob
Merci, je me sens moins seul ;-)

Imapfilter pourrait faire l'affaire s'il y avait un moyen de l'exécuter automatiquement à la réception de nouveaux e-mails. Je vois qu'y a une tentative de protocole push pour imap (P-IMAP), mais ça n'a pas l'air d'être déployé chez beaucoup de providers, et certainement pas chez OVH. Le crontab est une solution, mais je dois alors régler le pooling relativement bas (5 minutes ?) pour que ça soit efficace (ça n'empêchera pas de recevoir des notifications sur Android quand un spam est reçu, mais ça va automatiquement le nettoyer, ce qui fait qu'à la prochaine synchro, la notification devrait théoriquement avoir disparu).

L'autre solution, c'est effectivement quelque chose à base d'imapsync, pour "cloner" le serveur imap et donc mettre mon propre serveur en front-end. Le souci, c'est que ça demande beaucoup de boulot, et je n'ai absolument aucune expertise dans le hosting de serveurs mails :(

La troisième solution, c'est de développer une petite app pour Android qui va intercepter les nouveaux e-mails récupérés, et appliquent des règles simples ("[SPAM] *" -> déplacé vers le dossier idoine). Je suis vraiment surpris que ça n'existe pas de base (sans doute une tentative de la part de Google de pousser les gens à utiliser gmail, vu que si on configure un compte gmail sous Android, on dispose d'un bouton "marquer ce message comme spam" !).
PetitCalgon 2660 Bob
J'allais proposer de demander à mon adminsys, mais comme c'est du outlook server, j'ai préféré me taire face au windows-bashing.
Guybrush 8343 Bob
PetitCalgonwindows-bashing
On pratique ça, ici ? :innocent2:
GDI 129 Padawan
Je n’utilise pas de client mail sur mon smartphone.
Uniquement les Webmail. Et pour les comptes OVH, c’est gmail qui se charge d’aller les relever.
Guybrush 8343 Bob
Le webmail passe assez mal ici (roundcube). Mais depuis un webmail, tu ne reçois aucune notification en cas de nouveaux messages alors ?

Répondre

Vous devez être inscrit et identifié.