Хочется построить вот такой incoming mail relay: Чтоб проверяло наличие recipient на backend servers Чтоб проверяло IP на наличие во всяких RBL и в message headers вставляло результаты, аналогично переваривало содержимое (content filtering). Найдя IP в каком-нить RBL замедляло скорость приёма оттуда (ну типа sleep по N секунд между ответами). Чтоб в случае позитивных результатов работы фильтров отдавало "5xx processed successfully" и передавало почту на backends, а не выбрасывало. Чтоб нагрузку (количество сессий) с backends можно было лимитировать. Чтоб очередь для backends можно было "насильно разгребать". "Внимание вопрос"(с) всяких передач про знатоков :) Из чего бы такое выпиливать ? (Из postfix получится? Или лучше начинать читать доки от exim?) -- Best regards, Paul Arakelyan. =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
On Thursday 12 February 2004 17:21, Paul Arakelyan wrote:
Хочется построить вот такой incoming mail relay:
Чтоб проверяло наличие recipient на backend servers
Чтоб проверяло IP на наличие во всяких RBL и в message headers вставляло результаты, аналогично переваривало содержимое (content filtering). Найдя IP в каком-нить RBL замедляло скорость приёма оттуда (ну типа sleep по N секунд между ответами).
Чтоб в случае позитивных результатов работы фильтров отдавало "5xx processed successfully" и передавало почту на backends, а не выбрасывало.
Чтоб нагрузку (количество сессий) с backends можно было лимитировать.
Чтоб очередь для backends можно было "насильно разгребать".
"Внимание вопрос"(с) всяких передач про знатоков :) Из чего бы такое выпиливать ? (Из postfix получится? Или лучше начинать читать доки от exim?) нечто подобное - ну немного поменьше функциональности - у меня работает на эксиме и достаточно успешно - правда часть операций сделана загружаемыми перловыми функциями - что, наверное, будет сказыватся при большой нагрузке.
-- Roman Festchook Network Engineer RF2-UANIC FRA11-RIPE =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Paul Arakelyan wrote:
Хочется построить вот такой incoming mail relay:
Чтоб проверяло наличие recipient на backend servers
Это будет не совсем просто. Придётся где-то централизованно хранить записи о пользователях. Варианты - flat files, *db, pgsql, mysql, oracle, ldap. Всё это встроено в exim.
Чтоб проверяло IP на наличие во всяких RBL и в message headers вставляло результаты,
acl_check_rcpt:
аналогично переваривало содержимое (content filtering).
acl_check_data: Найдя IP в каком-нить RBL замедляло
скорость приёма оттуда (ну типа sleep по N секунд между ответами).
delay = 30s
Чтоб в случае позитивных результатов работы фильтров отдавало "5xx processed successfully" и передавало почту на backends, а не выбрасывало.
ДУмаю, можно.
Чтоб нагрузку (количество сессий) с backends можно было лимитировать.
Тут я сразу не отвечу. smtp_max_per_host, smtp_max_per_connection. Но они дейстуют глобально, т.е. сделать индивидуальные настройки для каждого хоста не получится.
Чтоб очередь для backends можно было "насильно разгребать".
Да.
"Внимание вопрос"(с) всяких передач про знатоков :) Из чего бы такое выпиливать ? (Из postfix получится? Или лучше начинать читать доки от exim?)
Лучше :) Вот тут у меня живёт русскоязычный список рассылки по exim: http://karpov.com.ua/mailman/listinfo/exim-users Скоро переедет на exim.org.ua :) =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Igor Karpov wrote: IK> >Чтоб в случае позитивных результатов работы фильтров отдавало IK> >"5xx processed successfully" и передавало почту на backends, IK> >а не выбрасывало. IK> IK> ДУмаю, можно. Мона, fakereject зовётся. -- UKR.NET Postmaster =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
On Thu, Feb 12, 2004 at 05:39:08PM +0200, Igor Karpov wrote: IK>Paul Arakelyan wrote: IK>>Хочется построить вот такой incoming mail relay: IK>> IK>>Чтоб проверяло наличие recipient на backend servers IK> IK>Это будет не совсем просто. Придётся где-то централизованно хранить IK>записи о пользователях. Варианты - flat files, *db, pgsql, mysql, IK>oracle, ldap. Всё это встроено в exim. либо через callout -- Best regard, Aleksander Trotsai aka MAGE-RIPE aka MAGE-UANIC My PGP key at ftp://blackhole.adamant.ua/pgp/trotsai.key[.asc] И кто же им поверит, что эта райская программа была написана на языке Ада? =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
On Thu, Feb 12, 2004 at 05:39:08PM +0200, Igor Karpov wrote:
Найдя IP в каком-нить RBL замедляло
скорость приёма оттуда (ну типа sleep по N секунд между ответами).
delay = 30s
скорее delay = ${perl{calculate_delay}{$local_part}{$domain}} p.s. tarpit надо ;-)
Чтоб нагрузку (количество сессий) с backends можно было лимитировать.
Тут я сразу не отвечу. smtp_max_per_host, smtp_max_per_connection. Но они дейстуют глобально, т.е. сделать индивидуальные настройки для каждого хоста не получится.
там есть понятие `особые хорошие хосты' - на них лимиты не действуют. =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
On Thu, Feb 12, 2004 at 10:43:03PM -0800, Dmitry Kohmanyuk Дмитрий Кохманюк wrote:
On Thu, Feb 12, 2004 at 05:39:08PM +0200, Igor Karpov wrote:
Найдя IP в каком-нить RBL замедляло
скорость приёма оттуда (ну типа sleep по N секунд между ответами).
delay = 30s
скорее delay = ${perl{calculate_delay}{$local_part}{$domain}}
p.s. tarpit надо ;-)
Чтоб нагрузку (количество сессий) с backends можно было лимитировать.
Тут я сразу не отвечу. smtp_max_per_host, smtp_max_per_connection. Но они дейстуют глобально, т.е. сделать индивидуальные настройки для каждого хоста не получится.
там есть понятие `особые хорошие хосты' - на них лимиты не действуют. /me подумал-подумал и пошел своим путём - сваял esmtp proxy, с проверкой по куче rbl сразу (libfiredns), "какие rbl не успели - те опоздали" и никаких клинов типа "а сегодня спамкоп подыхал ии почта еле-еле приходила", динамические тормоза (чем в большей куче bl+непонятных команд+нехороших ответов сервера - тем больше тормоза), "непонятные" команды подменяются на "несуществующую команду". Оччень весело тестить на опен-релейность - "ДООЛГО". ну вот уже баг один выловил - при orcpt оно лесом посылало - человек 80 послало :).
Это - а где б лучше взять кусочек кода для верификации синтаксиса rcpt to: ? (а то что-то я тама странные верификации развожу). И что может быть в адресе, если "с другой стороны" стоит сервер, который почту для uucp-юзеров принимает? То есть, чего надо и чего не надо пропускать ? -- Best regards, Paul Arakelyan. =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
participants (6)
-
Alexander Trotsai
-
Dmitry Kohmanyuk Дмитрий Кохманюк
-
Igor Karpov
-
Paul Arakelyan
-
Roman Festchook
-
vladimir.sharun@ukr.net