PhpMailFilter : script PHP antispam Open Source

Par     23 août 2012  - Catégorie(s): Php  Php

PhpMailFilter : script PHP antispam Open SourceDéçu du fonctionnement de Mailfilter (dysfonctionnements notoires avec Gmail notamment) et en l’absence de réponses de son concepteur, nous avons décidé, mon associé et moi-même dans le cadre de la société Winuxware, de développer notre propre antispam, PhpMailFilter, sous licence GPLv3.0. Nous l’avons hébergé sur SourceForge. Le nôtre est écrit en PHP et utilise la librairie php-imap présente sur Linux et Windows. Il s’exécute en ligne de commande. Son objet est de supprimer les spams des serveurs POP3 (uniquement en mode SSL) à partir d’expressions régulières ! Nous avons voulu un programme simple, facile à configurer.

Installation

Dézippez l’archive PhpMailFilter.zip que vous pouvez trouver sur SourceForge. Le code s’appuie sur deux classes. L’une est relative à la gestion de fichiers (file.class.php) ; l’autre à la gestion de la boîte aux lettres (mailbox.class.php). Le programme principal est main.php.

Configuration

Le fonctionnement de PhpMailFilter s’appuie sur deux fichiers de configuration. Dans le fichier connections.ini, vous devez entrer la liste de vos comptes POP3s que vous souhaitez relever. Chaque ligne comprend trois champs séparés par la touche tabulation : le serveur pop (pop.free.fr), votre login suivi de votre mot de passe. Dans ce fichier, les commentaires sont autorisés à condition que vous les préfixiez par un dièse. Vous trouverez un exemple de ce fichier dans l’archive.

Le deuxième fichier, filters.ini, contient tous vos filtres sous forme d’expressions régulières qui seront appliqués à l’ensemble de vos boîtes. Du fait des choix opérés, l’utilisation des $ et ^ ne sont pas possibles et doivent être remplacés par \\s. Vous pouvez inscrire des commentaires dans ce fichier en prenant soin de les préfixer par un dièse. Faites attention de ne pas laisser de lignes vides dans ce fichier, faute de quoi vous risquez l’effacement de tous vos mails.

Exécution

Le script s’exécute en ligne de commande à partir du répertoire où vous avez dézippé l’archive. Sous Linux : php -f main.php. Sous Windows, par exemple : c:\\php\\php -f main.php.

Vous pouvez planifier l’exécution de ce script !

Logs

Les logs sont créés automatiquement selon les droits de l’utilisateur qui exécute la commande. L’utilisateur doit disposer des droits en écriture dans le répertoire du script.

  1. connections.log, pour les erreurs de connexion aux comptes POP3s
  2. matches.log, pour les règles utilisées pour effacer les spams
  3. filters.log, pour les erreurs dans les expressions régulières

 

Autres billets sur le sujet :

Dsfc Dsfc

PhpMailFilter : script PHP antispam Open Source

4 votes, 3.00 avg. rating (65% score)

Vus : 1358
Publié par Denis Szalkowski : 58