Я работаю над приложением, которое позволяет пользователям создавать почтовые кампании для массового распространения (конечно, следуя всем хорошим правилам, не связанным со спамом). Мы хотим внедрить какую-то систему начисления баллов, чтобы они включались в них, если они вводят ключевые вещи, такие как «Гарантия возврата денег» или «бесплатная виагра», все заглавные буквы и т. Д.
После долгих исследований, похоже, было бы здорово просто отправить свой контент электронной почты SpamAssassin, получить оценку и вернуть ее им. Я мог бы просто написать свое собственное обнаружение спама, но оно не могло конкурировать с SA.
Проблема в том, что я не могу понять, как использовать php для общения с SA. Разве я не могу просто передать ему html и получить номер и несколько предупреждений назад? Есть ли другое решение с открытым исходным кодом для этого?
Возможно, слишком прост в реализации, но, возможно, что-то вроде этого будет началом:
<?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 не для робких. Если вы не потратили ТОННУ времени на его обучение, как спаму, так и Хэму, трудно доверять его байесовскому фильтру … трудно мне по крайней мере.
Надеюсь это поможет.
Других решений пока нет …