|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Anton Yuzhaninov 2:5020/400 23 May 2007 16:28:03 To : Alexander Fatykhov Subject : Re: postfix BEFORE queue filter -------------------------------------------------------------------------------- Hello, Alexander! You wrote to Anton Yuzhaninov on Wed, 23 May 2007 11:57:44 +0000 (UTC): AY>> В postfix2.3, 2.4 вместо before queue фильтра в большинстве случаев AY>> удобнее использовать Milter. AF> можно вкратце чем удобнее и где посмотреть? Удобно тем, что можно практически на каждую стадию приема письма вызвать свою функцию. И если в любом месте сказать reject то эта ошибка будет показана удаленному серверу до приема письма. Есть куча готовых на разные случаи жизни. /usr/ports#make search key=milter Можно написать свой на Си использую libmilter: http://www.sendmail.org/doc/sendmail-current/libmilter/docs/api.html Работает это так. Приложение написанное с помощью libmilter представляет из себя тредовый демон, который слушает сокет. К нему подключается smtpd от постфикса и шлет пакетики. После подключения удаленного пользователя с информацией о hostname/ip, после hello/ehlo и т. п. После каждого пакетика он получает от мильтера ответ - что делать дальше - продолжить прием письма или выдать ошибку. Тело письма передается в виде нескольких кусочков, поэтому для проверки контента письма приходится сохранять его во временном файлике. Система очень удобная и гибкая, но есть такой недостаток - кроме libmilter нет других нормальных библиотек для написания мильтер-фильтров. А libmilter тредовая, со всеми недостатками тредов в виде сложности отладки и т. п. Hу и разработка сишных программ в целом более трудоемкое занятие чем программирование на скриптовых языках. А для них нет нормальных библиотек (плохие есть, но от этого не легче). Впрочем это поправимое и если кому то очень понадобится будут и другие библиотеки. Пока же проще использовать то что есть. IMHO то что в postfix добавили поддержку libmilter неправильно. По мне лучше чтобы к postfix можно было писать свои модули (можно даже сделать с таким е API как для libmilter), которые бы подключались к smtpd не по сети, а в виде so-библиотеки. Hо что есть то есть. API для модулей к smtpd в postfix не предвидится AFAIK. -- Anton Yuzhaninov, OSPF-RIPE, mail: citrin (at) citrin.ru --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/12317f351bf52.html, оценка из 5, голосов 10
|