2015-08-27 1 views
1

J'ai créé une application web utilisant PHP qui reçoit un certain nombre de messages contenant un mot-clé comme 'pizza' depuis Instagram et les charge avec d'autres données vers MongoDB.Intégration de SpamAssassin avec mon application PHP

L'un des modules est NLTK Python et voici comment je l'invoquons (oui, je commutation des langues comme un fou [uniquement pour les étudier]):

$foo = exec("python tokenize.py $bar"); 

Maintenant, la ligne ci-dessus est entièrement fonctionnel, mais Je suis à la recherche d'un moyen similaire d'appeler mon SpamAssassin pour vérifier si le contenu du post Instagram est un spam ou non. A en juger par la documentation de SA, je sais qu'il est possible de vérifier certains fichiers en texte brut car ils étaient les mails like here. Je suis nouveau à SA cependant.

Probablement cette question est assez simple pour les utilisateurs avancés SA, mais je ne peux pas dire une option d'entrée-sortie dans SA de cmd comme dans l'appel PHP-à-Python comme ci-dessus. En supposant que $string est le contenu du message Instagram, je suis à la recherche d'un script comme ça:

$score_of_SA = exec("spamassassin.exe $string") 

Est-ce un script comme ça possible en PHP? Si non, que dois-je faire pour vérifier ce contenu?

Assumer ma SA est mis à jour et formé.

+0

Fournissez un nom de fichier temporaire au lieu du texte brut ou d'une pipe dans un fichier 'sa mario

Répondre

1

Douteux. Spamassassin n'est pas un vérificateur de texte générique, il construit ses scores à partir de courriels sources en examinant une variété de facteurs liés aux courriels connus, comme si le serveur d'envoi possède un enregistrement MX valide ou des messages SPF ou DKIM.

Rien de tout cela ne serait lié à des structures non-e-mail. L'un des composants clés en ce qui concerne l'analyse de texte est la mise en œuvre d'un filtre bayésien.

Il y a cependant de l'espoir! Et une solution beaucoup plus intégrée dans un projet PHP. En l'occurrence, il existe une bibliothèque de filtres anti-spam bayésiens php dans Packagist: See here.

Vous devez former un filtre anti-spam et cette bibliothèque ne fait pas exception.