Я просто в шоке от PHP! Вообще то я никогда этот язык не использовал и, судя по всему, теперь никогда использовать не буду 🙂
Настраиваю DSPAM. В дополнительном пакете поставляется удобная утилитка, которая обучает спам фильтр. Что самое прикольное — этот скрипт написан на PHP и запускается как обыкновенная программа в командной строке.
Задача утилиты прочитать с почтового ящика imap сервера письма из папок spam и ham, и соответственно научить антиспам фильтр. К ящикам она обращается напрямую, как к файлам файловой системы. А вот для удаления писем из ящика вызывает функции PHP для работы с imap.
Сначала, естественно открывает ящик:
$stream=@imap_open($imapmailbox,$imapuser,$imappasswd);
И вот тут то у меня случился страшный затык. Программа антиспам фильтр обучает, а вот письма тз папок не удаляет. При вызове этой функции просто завершает работу с котдом возврата 255. Плин! Бился над этой проблемой два дня. Как оказалось, я просто забыл поставить пакт php-imap.
Чудо язык PHP! Чудо! Нормальный язык, тот же Perl страшно бы ругнулся и послал меня за функцией, а это Чудо, тупо, молча, без предупреждений завершал работу.
Нда. Большое спасибо автору скрипта, который использовал PHP для скрипта! Зачем он использовал не предназначенный для этого язык я не понимаю.
И большое спасибо авторам PHP, за чудо язык, который так забавно себя ведет 🙂