URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 51627
[ Назад ]

Исходное сообщение
"postfix ограниченме на количество отправляемых сообщений"

Отправлено madmax , 15-Дек-04 15:37 
Дано postfix 2.1.5, ADSL, ISP требующий отправлять не более 500 писем в час (сменить провайдера не предлагать). Из-за *ADSL* в имени хоста, очень много серверов отказывается принимать от нас почту на прямую (занести всех в transport_maps не возможно).
Хочется быть "хорошим" и отправлять все через релей провайдера.
Но вот как заставить мой postfix не отправлять более 500 писем в час? (В начале рабочего дня мы превышаем этот лимит)
Буду рад любым советам!

Содержание

Сообщения в этом обсуждении
"postfix ограниченме на количество отправляемых сообщений"
Отправлено ifconfig , 15-Дек-04 17:16 
теоретическое предложение

отраничить _скорость_ исходящих syn пакетов на 25 порт

берем размер syn умножаем на (500 - N) (N-дельта на всякий случай). получается максимальный syn трафик на 25 порт в час

ограничить скорость только syn, те тем самым ограничим количество соединений    
в еденицу времени и соответственно отправляемых сообщений, при том, что само письмо будет отправляться без ограничений по скорости

делать это с помошью iptables --limit не стоит, тк нужно именно замедлить syn, а не выбрасывать их

есть правда еще такая вешь:

user@user:~/$ telnet mail 25
Trying 192.168.3.223...
Connected to mail.
Escape character is '^]'.
helo
220 domain.ru ESMTP
250 domain.ru
mail from:user@domain.ru
250 ok
rcpt to:user@domain.ru
250 ok
data
354 go ahead
sds
kjhksdhfksd
ddfjdlfkjdl
.
250 ok 1103119241 qp 18054
mail from:user@domain.ru
250 ok
rcpt to:user@domain.ru
250 ok
data
354 go ahead
sdssdsdsd
dsdsdsafds
.
250 ok 1103119263 qp 18068

это считается одним письмом или двумя?

и если в письме несколько получателей? на сколько я понимаю релей получает  
одно письмо с неколькими получателями и потом рассылает каждому по экземпляру, или я не прав?



"postfix ограниченме на количество отправляемых сообщений"
Отправлено madmax , 15-Дек-04 17:38 
Спасибо за участие!
Предложенный метод в моем случае не катит:(
Я хочу работать через relay_host и  за одну tcp сесию мой postfix отправит все имеющиеся в очереди сообщения. Т.е. при не удачном стечении обстоятельств он может отправить и 1000 сообщений.

>это считается одним письмом или двумя?
Это точно двумя.

>и если в письме несколько получателей? на сколько я понимаю релей получает > одно письмо с неколькими получателями и потом рассылает каждому по экземпляру,
>или я не прав?
Не знаю.


"postfix ограниченме на количество отправляемых сообщений"
Отправлено lavr , 15-Дек-04 17:43 
>Дано postfix 2.1.5, ADSL, ISP требующий отправлять не более 500 писем в
>час (сменить провайдера не предлагать). Из-за *ADSL* в имени хоста, очень
>много серверов отказывается принимать от нас почту на прямую (занести всех
>в transport_maps не возможно).
>Хочется быть "хорошим" и отправлять все через релей провайдера.
>Но вот как заставить мой postfix не отправлять более 500 писем в
>час? (В начале рабочего дня мы превышаем этот лимит)
>Буду рад любым советам!

вроде уже все придумано до нас:

http://www.postfix.org/addon.html - Policy Server Daemon от Cami
и в списках рассылки postfix он писал что с его помощью можно
решить проблему X-mail per hour



"postfix ограниченме на количество отправляемых сообщений"
Отправлено madmax , 15-Дек-04 17:54 

>Вроде уже все придумано до нас:
>http://www.postfix.org/addon.html - Policy Server Daemon от Cami
>и в списках рассылки postfix он писал что с его помощью можно
>решить проблему X-mail per hour
Спасибо!
Я правильно понял, что это способ НЕ ПРИНИМАТЬ более X/час?
Увы я не могу заставлять своих юзеров отправлять одно и тоже письмо несколько раз.
Мне нужно не отправлять более 500 писем в час!


"postfix ограниченме на количество отправляемых сообщений"
Отправлено lavr , 15-Дек-04 18:04 
>
>>Вроде уже все придумано до нас:
>>http://www.postfix.org/addon.html - Policy Server Daemon от Cami
>>и в списках рассылки postfix он писал что с его помощью можно
>>решить проблему X-mail per hour
>Спасибо!
>Я правильно понял, что это способ НЕ ПРИНИМАТЬ более X/час?
>Увы я не могу заставлять своих юзеров отправлять одно и тоже письмо
>несколько раз.
>Мне нужно не отправлять более 500 писем в час!

ты прежде посмотри сам демон и возможности, у него там несколько опций есть
в том числе hold если не ошибаюсь, типа топравил сколько разрешено, остальное держит в очереди.

абсолютно точно - я тебе не скажу, в любом случае, если ты не можешь
договориться с провайдером или сменить его, у тебя очередь будет нарастать
типа: скопилось 600, отправлено 500 (100 в очереди задержано) и тд и тп,
надеюсь понятно о чем я. В результате, у тебя должны быть дни для разгрузки очереди (выходные, праздники). В любом случае, нужно смотреть
реализацию демона и без проблем списаться с автором по тонким местам


"postfix ограниченме на количество отправляемых сообщений"
Отправлено madmax , 15-Дек-04 18:12 
>>Мне нужно не отправлять более 500 писем в час!
>ты прежде посмотри сам демон и возможности, у него там несколько опций
>есть
>в том числе hold если не ошибаюсь, типа топравил сколько разрешено, остальное
>держит в очереди.
Посмотрел, есть такая опция. Вот только вопроc как узнать, что пора письмо из hold переложить в обычную очередь?

,
>надеюсь понятно о чем я. В результате, у тебя должны быть дни
>для разгрузки очереди (выходные, праздники). В любом случае, нужно смотреть
Очередь без проблем рассосется к обеду. Лимит превышается только в часы пиковой нагрузки.


"postfix ограниченме на количество отправляемых сообщений"
Отправлено madmax , 15-Дек-04 18:20 
>>
>ты прежде посмотри сам демон и возможности, у него там несколько опций
>есть
Посмотрел более внимательно - не катит т.к. нет возможности ограничить всю исходящую почту. Этот демон позволяет ограничивать по конретным отправителям.

"postfix ограниченме на количество отправляемых сообщений"
Отправлено lavr , 15-Дек-04 19:08 
>>>
>>ты прежде посмотри сам демон и возможности, у него там несколько опций
>>есть
>Посмотрел более внимательно - не катит т.к. нет возможности ограничить всю исходящую
>почту. Этот демон позволяет ограничивать по конретным отправителям.

ищи по форуму или напиши автору, он утверждал что можно


"postfix ограниченме на количество отправляемых сообщений"
Отправлено madmax , 15-Дек-04 19:16 
>>>>
>>>ты прежде посмотри сам демон и возможности, у него там несколько опций
>>>есть
>>Посмотрел более внимательно - не катит т.к. нет возможности ограничить всю исходящую
>>почту. Этот демон позволяет ограничивать по конретным отправителям.
>ищи по форуму или напиши автору, он утверждал что можно
Написал - вот кусочек:
But this really needs a newer module so that
it is applied to *all* mail and not just on a per
sender basis.
Сказал не будет он такого делать - проблема у меня специфичная:(


"postfix ограниченме на количество отправляемых сообщений"
Отправлено unk , 15-Дек-04 19:11 
Вижу три варианта (все через одно место)
1:
Можно класть всю почту на HOLD и скриптами по мере необходимости перекладывать письма в очередь.

2:
Можно запускать один smtp процесс N раз в час и разрешать ему доставлять только одно письмо.
debugger_command=sleep 8       #(3600/500=7.2 можете использовать usleep)
в master.cf:
smtp unix ... smtp -D
          -o max_use=1

3:
Можно поднять второй экземпляр postfix и настроить на нем, как советовал lavr, policy сервер. Т.е. postfix1 должен принимать все письма из lan и
отдавать их postfix2. Postfix2 на попытку послать более 500 писем в
час должен сказать 4xx - письмо будет болтаться в очереди postfix1.

Для всех вариантов советую через transport_maps отправлять всем кто принимает на прямую.


"postfix ограниченме на количество отправляемых сообщений"
Отправлено madmax , 15-Дек-04 19:25 
>Вижу три варианта (все через одно место)
Спасибо unk!
А какой из вариантов 2 или 3 лучше?


"postfix ограниченме на количество отправляемых сообщений"
Отправлено unk , 16-Дек-04 10:32 
>А какой из вариантов 2 или 3 лучше?
Да же и не знаю - ни когда не приходилось такой фигней маяться...
Но мне более симпатичен вариант с двумя экземплярами postfix.

Если у вас получится, пожалуйста напишите сюда.


"postfix ограниченме на количество отправляемых сообщений"
Отправлено lavr , 16-Дек-04 10:58 
>>Вижу три варианта (все через одно место)
>Спасибо unk!
>А какой из вариантов 2 или 3 лучше?

это можно понять только при реализации, в дополнение можно ограничить
исходящее количество соединений в master.cf smtp ... smtp, ну и
попробовать посмотреть policy daemon на предмет возможной правки
под себя. Кстати, всегда можно подбить статистику ОТ КАКИХ пользователей
большой поток писем - вот тебе еще одно ограничение через policy daemon.

Есть еще вариант - договориться с провайдером о том что почта будет
ходить по uucp - накопил, запустил раз в час или в два часа.

PS. А вобщем, странный провайдер, мог бы и у себя настроить ограничения,
маразм однако.

PPS. А почему в корне не решить такую проблему: прописать MX'ы или
попросить чтобы их прописали и договориться о прямой рассылке собственной
почты - полноценное решение и выход из ситуации.


"postfix ограниченме на количество отправляемых сообщений"
Отправлено madmax , 16-Дек-04 11:10 
>это можно понять только при реализации, в дополнение можно ограничить
>исходящее количество соединений в master.cf smtp ... smtp, ну и
>попробовать посмотреть policy daemon на предмет возможной правки
>под себя. Кстати, всегда можно подбить статистику ОТ КАКИХ пользователей
>большой поток писем - вот тебе еще одно ограничение через policy daemon.
Сейчас сделал вариант 2 от unk как наиболее простое решение. Потом перейду к варианту с двумя postfix'ами.

Договориться с провайдером не возможно :(
>PPS. А почему в корне не решить такую проблему: прописать MX'ы или
>попросить чтобы их прописали и договориться о прямой рассылке собственной
>почты - полноценное решение и выход из ситуации.
Провайдер не хочет и не будет ни чего менять. Остается только ждать когда у него появятся конкуренты... А уж тогда :)


"postfix ограниченме на количество отправляемых сообщений"
Отправлено Alexander Grigoriev , 16-Дек-04 10:42 
>Дано postfix 2.1.5, ADSL, ISP требующий отправлять не более 500 писем в
>час (сменить провайдера не предлагать). Из-за *ADSL* в имени хоста, очень
>много серверов отказывается принимать от нас почту на прямую (занести всех
>в transport_maps не возможно).
>Хочется быть "хорошим" и отправлять все через релей провайдера.
>Но вот как заставить мой postfix не отправлять более 500 писем в
>час? (В начале рабочего дня мы превышаем этот лимит)
>Буду рад любым советам!

Лучше попросить провайдера прописать в reverse dns вместо *adsl* что-нибудь более другое.


"postfix ограниченме на количество отправляемых сообщений"
Отправлено madmax , 16-Дек-04 10:53 
>Лучше попросить провайдера прописать в reverse dns вместо *adsl* что-нибудь более другое.
Это банально и безуспешная попытка уже была.

Решение найденно: (http://www.opennet.me/openforum/vsluhforumID1/51627.html#9)
Спасибо всем.