Привет, как бы мне написать плагин, который бы досавал номер непрочитанных сообщений… цель.. послать их потом на порт.. другой машине. Читать собщения с IMAP сервера неудобно, так как очень много сапама..... а Bayesit работает только после получения
Привет, как бы мне написать плагин, который бы досавал номер непрочитанных сообщений… цель.. послать их потом на порт.. другой машине. Читать собщения с IMAP сервера неудобно, так как очень много сапама..... а Bayesit работает только после получения
Алгоритм примерно следующий: Бат вызывает для плагина функцию GetSpamScore и передаёт ей письмо. Само письмо не берёшь, а просто запускаешь по вызову функции таймер - скажем, минут на 5-10 (в зависимости от скорости соединения). Если во время работы таймера произошёл повторный вызов функции, перезапускаешь таймер заново.
По завершению работы таймера (задержка нужна, чтобы дождаться получения всех писем в сессии) сканируешь все папки БАТа по списку и подсчитываешь в каждой количество непрочитанных сообщений. А потом уже делаешь с этим числом, что хочешь.
Напрямую прочитать число сообщений, увы, нигде не получится - в папках не хранится такая информация, а нужное число подсчитывается каждый раз заново.
Если нужен формат папок БАТа - милости прошу на личку (поскольку формат не является публичным, он может изменяться, и потому "привязка" к нему потенциально может вызвать ошибки)