The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Exim - задержка сообщений"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Открытые системы на сервере (Почта / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"Exim - задержка сообщений"  +/
Сообщение от dimmonspb email(ok) on 14-Май-10, 18:18 
Возникла необходимость на почтовом сервере Exim сделать так, чтобы почта пришедшая с адреса mailer@mydomain.ru всем доходила как обычно, а определенному списку людей, например из файла delayusers, с задержкой на заданное время - чтобы не устраивали чат из рассылки.

Возможно ли такое реализовать и если да, то как?

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Exim - задержка сообщений"  +/
Сообщение от bill (ok) on 14-Май-10, 19:12 
>Возникла необходимость на почтовом сервере Exim сделать так, чтобы почта пришедшая с
>адреса mailer@mydomain.ru всем доходила как обычно, а определенному списку людей, например
>из файла delayusers, с задержкой на заданное время - чтобы не
>устраивали чат из рассылки.
>
>Возможно ли такое реализовать и если да, то как?

По-моему это не задача mta. Наверное dovecot+sieve и cron с этим справятся.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Exim - задержка сообщений"  +/
Сообщение от Bosh on 15-Май-10, 22:29 
Можно , но не тривиально.
Вариант 1
на этой же машине подыми второй exim на 127.0.0.2 25
и запускай его с параметрами exim -bd как демон без запуска очереди
в нем
queue_only
queue_run_max = 1
remote_max_parallel = 1

и шельник (запускаешь с той периодичностью как надо)
#!/bin/sh

cnt=`ps ax | grep -v grep | grep -c "/usr/sbin/exim -q"`

#echo cnt - $cnt
if [ $cnt -le 200 ]
then
        j=1
        while [ $j -le 5 ]
        do
#               echo j - $j
                /usr/sbin/exim -q
                j=$(($j+1))
        done
fi

в  основном exim ПЕРВЫМ роутером

smart_route:
   condition = условие из файла delayusers
    transport = remote_smtp
    route_list = * 127.0.0.2
  
все

Варианр 2  используй встроенный perl

   ${perl{ что то , что обрабатывает нужных тебе получателе и замораживаеи  их доствку }

Это реально но требует временени  
  
  


  
>Возникла необходимость на почтовом сервере Exim сделать так, чтобы почта пришедшая с
>адреса mailer@mydomain.ru всем доходила как обычно, а определенному списку людей, например
>из файла delayusers, с задержкой на заданное время - чтобы не
>устраивали чат из рассылки.
>
>Возможно ли такое реализовать и если да, то как?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Exim - задержка сообщений"  +/
Сообщение от dimmonspb email(ok) on 17-Май-10, 10:27 
Почту с адреса mailer@mydomain.ru отправляет соседняя машина sendmail`ом. Может тогда на ней это проще реализовать?
Сейчас поставил в кроне на этой машинке остановку и запуск sendmail`a с определенной периодичностью, но при этом почта задерживается для всех, а надо чтобы она некоторым доходила сразу.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Exim - задержка сообщений"  +/
Сообщение от DeadLoco (ok) on 17-Май-10, 21:27 
>Возможно ли такое реализовать и если да, то как?

Вот это не подходит?
http://www.exim.org/exim-html-current/doc/html/spec_html/ind...

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Exim - задержка сообщений"  +/
Сообщение от dimmonspb email(ok) on 21-Май-10, 12:56 
>>Возможно ли такое реализовать и если да, то как?
>
>Вот это не подходит?
>http://www.exim.org/exim-html-current/doc/html/spec_html/ind...

Ткните носом, пожалуйста, что именно?..

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Exim - задержка сообщений"  +/
Сообщение от DeadLoco (ok) on 21-Май-10, 15:09 
>>>Возможно ли такое реализовать и если да, то как?
>>
>>Вот это не подходит?
>>http://www.exim.org/exim-html-current/doc/html/spec_html/ind...
>
>Ткните носом, пожалуйста, что именно?..

Сорри, вот это: http://www.exim.org/exim-html-current/doc/html/spec_html/ch4...

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Exim - задержка сообщений"  +/
Сообщение от dimmonspb email(ok) on 21-Май-10, 15:32 
>>>>Возможно ли такое реализовать и если да, то как?
>>>
>>>Вот это не подходит?
>>>http://www.exim.org/exim-html-current/doc/html/spec_html/ind...
>>
>>Ткните носом, пожалуйста, что именно?..
>
>Сорри, вот это: http://www.exim.org/exim-html-current/doc/html/spec_html/ch4...

Проблема в том, что рассылка отправляется с форума после добавления поста, а сколько их будет, например, за 1 час - 1,2 или 22 - никто не знает.
Если бы можно было указать, например, интервал времени и работы, и простоя - тогда да.

Мне сегодня ещё подсказали, что можно это реализовать через GREYLIST. Там настраивается, что первая попытка отправить сообщение отклоняется, а когда через заданный промежуток времени происходит вторая попытка, то она удовлетворяется.
Посмотрел примеры в сети - они все очень сложные (для фильтрации спама с записью в mysql)
А мне надо просто, чтобы сервер 1 раз отклонил сообщение, которое удовлетворяет условию:
local_parts = /usr/local/etc/exim/delay.mails
а остальные пропустил. Но вот как это сделать?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Exim - задержка сообщений"  +/
Сообщение от DeadLoco (ok) on 21-Май-10, 23:10 
>Проблема в том, что рассылка отправляется с форума после добавления поста, а
>сколько их будет, например, за 1 час - 1,2 или 22 - никто не знает.
>Если бы можно было указать, например, интервал времени и работы, и простоя - тогда да.

Использовать это можно вот так:

acl_rcpt:
// первый ацль (или не первый, но осторожно)
defer  ratelimit = 20 / 10m / per_mail / $sender_address
       message = "Очинна многа письмов, оннако. Мала-мала ждать надо."

Если за предыдущие 10 минут отправителем $sender_address было отправлено более 20 штук писем, МТА его вежливо факнет до момента, пока количество отправленных писем за предыдущие 10 минут не упадет ниже 20.

Для каждого $sender_address будет считаться свой личный рейт, и можно подобрать такие значения m/p что добрососвестный пользователь ничего не заметит, а строчитель-пулеметчик получит дефер.

>Мне сегодня ещё подсказали, что можно это реализовать через GREYLIST. Там настраивается,
>что первая попытка отправить сообщение отклоняется, а когда через заданный промежуток
>времени происходит вторая попытка, то она удовлетворяется.

Обычно грейлистинг задерживает доставку только первого письма, но после верификации начинает принимать сообщения без задержки. Допилить грейлист для вашей задачи можно, но зачем, если экзим уже умеет нужное?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру