Оценка спама для пользовательских кампаний
Я работаю над приложением, которое позволяет пользователям создавать почтовые кампании для массового распространения (конечно, следуя всем хорошим правилам, не связанным со спамом). Мы хотим внедрить какую-то систему начисления баллов, чтобы они включались в них, если они вводят ключевые вещи, такие как "Гарантия возврата денег" или "бесплатная виагра", все заглавные буквы и т. Д.
После долгих исследований, похоже, было бы здорово просто отправить свой контент электронной почты SpamAssassin, получить оценку и вернуть ее им. Я мог бы просто написать свое собственное обнаружение спама, но оно не могло конкурировать с SA.
Проблема в том, что я не могу понять, как использовать php для общения с SA. Разве я не могу просто передать ему html и получить номер и несколько предупреждений назад? Есть ли другое решение с открытым исходным кодом для этого?
1 ответ
Возможно, слишком прост в реализации, но, возможно, что-то вроде этого будет началом:
<?php
$sa_program = "/usr/local/bin/spamassassin"; //your path to the executable
$mail_message = "/tmp/mail_message"; //file on server
exec("$sa_program < $mail_message", $output, $return);
if (!$return) { // "0" is success in 'Nix
if (strstr(implode("\n",$output),"X-Spam-Flag: YES")) {
//it's spam, according to SA
} else {
//it's not
}
}
Я не знаю, можно ли передать ей строковую переменную вместо файла на диске.
Также имейте в виду, что я не проверял счет... вы можете также сделать это ("X-Spam-Status: Yes, score=5.0" --- имейте в виду "Нет", поскольку возможное значение там).
Обратите внимание, что это отличный инструмент, но конфигурация и работа SpamAssassin не для робких. Если вы не потратили ТОННУ времени на его обучение, как на спам, так и на Хэма, трудно доверять его байесовскому фильтру... по крайней мере, мне трудно.
Надеюсь это поможет.