Дано postfix 2.1.5, ADSL, ISP требующий отправлять не более 500 писем в час (сменить провайдера не предлагать). Из-за *ADSL* в имени хоста, очень много серверов отказывается принимать от нас почту на прямую (занести всех в transport_maps не возможно).
Хочется быть "хорошим" и отправлять все через релей провайдера.
Но вот как заставить мой postfix не отправлять более 500 писем в час? (В начале рабочего дня мы превышаем этот лимит)
Буду рад любым советам!
теоретическое предложениеотраничить _скорость_ исходящих 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это считается одним письмом или двумя?
и если в письме несколько получателей? на сколько я понимаю релей получает
одно письмо с неколькими получателями и потом рассылает каждому по экземпляру, или я не прав?
Спасибо за участие!
Предложенный метод в моем случае не катит:(
Я хочу работать через relay_host и за одну tcp сесию мой postfix отправит все имеющиеся в очереди сообщения. Т.е. при не удачном стечении обстоятельств он может отправить и 1000 сообщений.>это считается одним письмом или двумя?
Это точно двумя.>и если в письме несколько получателей? на сколько я понимаю релей получает > одно письмо с неколькими получателями и потом рассылает каждому по экземпляру,
>или я не прав?
Не знаю.
>Дано 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
>Вроде уже все придумано до нас:
>http://www.postfix.org/addon.html - Policy Server Daemon от Cami
>и в списках рассылки postfix он писал что с его помощью можно
>решить проблему X-mail per hour
Спасибо!
Я правильно понял, что это способ НЕ ПРИНИМАТЬ более X/час?
Увы я не могу заставлять своих юзеров отправлять одно и тоже письмо несколько раз.
Мне нужно не отправлять более 500 писем в час!
>
>>Вроде уже все придумано до нас:
>>http://www.postfix.org/addon.html - Policy Server Daemon от Cami
>>и в списках рассылки postfix он писал что с его помощью можно
>>решить проблему X-mail per hour
>Спасибо!
>Я правильно понял, что это способ НЕ ПРИНИМАТЬ более X/час?
>Увы я не могу заставлять своих юзеров отправлять одно и тоже письмо
>несколько раз.
>Мне нужно не отправлять более 500 писем в час!ты прежде посмотри сам демон и возможности, у него там несколько опций есть
в том числе hold если не ошибаюсь, типа топравил сколько разрешено, остальное держит в очереди.абсолютно точно - я тебе не скажу, в любом случае, если ты не можешь
договориться с провайдером или сменить его, у тебя очередь будет нарастать
типа: скопилось 600, отправлено 500 (100 в очереди задержано) и тд и тп,
надеюсь понятно о чем я. В результате, у тебя должны быть дни для разгрузки очереди (выходные, праздники). В любом случае, нужно смотреть
реализацию демона и без проблем списаться с автором по тонким местам
>>Мне нужно не отправлять более 500 писем в час!
>ты прежде посмотри сам демон и возможности, у него там несколько опций
>есть
>в том числе hold если не ошибаюсь, типа топравил сколько разрешено, остальное
>держит в очереди.
Посмотрел, есть такая опция. Вот только вопроc как узнать, что пора письмо из hold переложить в обычную очередь?,
>надеюсь понятно о чем я. В результате, у тебя должны быть дни
>для разгрузки очереди (выходные, праздники). В любом случае, нужно смотреть
Очередь без проблем рассосется к обеду. Лимит превышается только в часы пиковой нагрузки.
>>
>ты прежде посмотри сам демон и возможности, у него там несколько опций
>есть
Посмотрел более внимательно - не катит т.к. нет возможности ограничить всю исходящую почту. Этот демон позволяет ограничивать по конретным отправителям.
>>>
>>ты прежде посмотри сам демон и возможности, у него там несколько опций
>>есть
>Посмотрел более внимательно - не катит т.к. нет возможности ограничить всю исходящую
>почту. Этот демон позволяет ограничивать по конретным отправителям.ищи по форуму или напиши автору, он утверждал что можно
>>>>
>>>ты прежде посмотри сам демон и возможности, у него там несколько опций
>>>есть
>>Посмотрел более внимательно - не катит т.к. нет возможности ограничить всю исходящую
>>почту. Этот демон позволяет ограничивать по конретным отправителям.
>ищи по форуму или напиши автору, он утверждал что можно
Написал - вот кусочек:
But this really needs a newer module so that
it is applied to *all* mail and not just on a per
sender basis.
Сказал не будет он такого делать - проблема у меня специфичная:(
Вижу три варианта (все через одно место)
1:
Можно класть всю почту на HOLD и скриптами по мере необходимости перекладывать письма в очередь.2:
Можно запускать один smtp процесс N раз в час и разрешать ему доставлять только одно письмо.
debugger_command=sleep 8 #(3600/500=7.2 можете использовать usleep)
в master.cf:
smtp unix ... smtp -D
-o max_use=13:
Можно поднять второй экземпляр postfix и настроить на нем, как советовал lavr, policy сервер. Т.е. postfix1 должен принимать все письма из lan и
отдавать их postfix2. Postfix2 на попытку послать более 500 писем в
час должен сказать 4xx - письмо будет болтаться в очереди postfix1.Для всех вариантов советую через transport_maps отправлять всем кто принимает на прямую.
>Вижу три варианта (все через одно место)
Спасибо unk!
А какой из вариантов 2 или 3 лучше?
>А какой из вариантов 2 или 3 лучше?
Да же и не знаю - ни когда не приходилось такой фигней маяться...
Но мне более симпатичен вариант с двумя экземплярами postfix.Если у вас получится, пожалуйста напишите сюда.
>>Вижу три варианта (все через одно место)
>Спасибо unk!
>А какой из вариантов 2 или 3 лучше?это можно понять только при реализации, в дополнение можно ограничить
исходящее количество соединений в master.cf smtp ... smtp, ну и
попробовать посмотреть policy daemon на предмет возможной правки
под себя. Кстати, всегда можно подбить статистику ОТ КАКИХ пользователей
большой поток писем - вот тебе еще одно ограничение через policy daemon.Есть еще вариант - договориться с провайдером о том что почта будет
ходить по uucp - накопил, запустил раз в час или в два часа.PS. А вобщем, странный провайдер, мог бы и у себя настроить ограничения,
маразм однако.PPS. А почему в корне не решить такую проблему: прописать MX'ы или
попросить чтобы их прописали и договориться о прямой рассылке собственной
почты - полноценное решение и выход из ситуации.
>это можно понять только при реализации, в дополнение можно ограничить
>исходящее количество соединений в master.cf smtp ... smtp, ну и
>попробовать посмотреть policy daemon на предмет возможной правки
>под себя. Кстати, всегда можно подбить статистику ОТ КАКИХ пользователей
>большой поток писем - вот тебе еще одно ограничение через policy daemon.
Сейчас сделал вариант 2 от unk как наиболее простое решение. Потом перейду к варианту с двумя postfix'ами.Договориться с провайдером не возможно :(
>PPS. А почему в корне не решить такую проблему: прописать MX'ы или
>попросить чтобы их прописали и договориться о прямой рассылке собственной
>почты - полноценное решение и выход из ситуации.
Провайдер не хочет и не будет ни чего менять. Остается только ждать когда у него появятся конкуренты... А уж тогда :)
>Дано postfix 2.1.5, ADSL, ISP требующий отправлять не более 500 писем в
>час (сменить провайдера не предлагать). Из-за *ADSL* в имени хоста, очень
>много серверов отказывается принимать от нас почту на прямую (занести всех
>в transport_maps не возможно).
>Хочется быть "хорошим" и отправлять все через релей провайдера.
>Но вот как заставить мой postfix не отправлять более 500 писем в
>час? (В начале рабочего дня мы превышаем этот лимит)
>Буду рад любым советам!Лучше попросить провайдера прописать в reverse dns вместо *adsl* что-нибудь более другое.
>Лучше попросить провайдера прописать в reverse dns вместо *adsl* что-нибудь более другое.
Это банально и безуспешная попытка уже была.Решение найденно: (http://www.opennet.me/openforum/vsluhforumID1/51627.html#9)
Спасибо всем.