Страница 1 из 1

Exim, хостинг, контроль отправляемых писем.

Добавлено: 2009-02-22 13:46:26
pronix
На freebsd 6.4 в jail работает хостинг. У каждого пользователя свой сервер apache, работающий от его имени и группы. Нужно мониторить количество отправляемых писем каждым хостящимся и в случае превышения лимита блокировать отправку почты. Сейчас отправка происходит следующим образом: на основной системе работает exim, который слушает 25 порт на ip, принадлежащему jail. В конфиге exim этот же ip присутствует в списке
relay_from_hosts. Хотелось бы услышать рекомендации старших товарищей на этот счет. Если это проблематично осуществить стандартными средствами, то какой алгоритм работы должен быть у самописной "обертки" для отправки почты?

Re: Exim, хостинг, контроль отправляемых писем.

Добавлено: 2009-02-23 10:42:32
Laa
Если я правильно понял, то у каждого клиента jail свой ip, и соответственно с него идет коннект. Уверен, что на этой машине есть sql, и почти уверен, что он используется на вашем exim. Поэтому все что дальше сказано подразумевает, что выполняться все будет в БД.

Считаю, что правильно будет на стадии RCPT вести учет такой информации дата, отправитель, получатель(-2,-3...) и ip, а на стадии connect давать наверное DEFER (?) если с ip такого-то в промежуток времени такой-то больше столько-то получателей (или отправителей -- смотря что нужно считать -- отправок или адресов получателей).

Старался изложить ясно, все ли понятно?

Re: Exim, хостинг, контроль отправляемых писем.

Добавлено: 2009-02-23 14:05:41
pronix
Нет, все крутиться в одном jail.

Re: Exim, хостинг, контроль отправляемых писем.

Добавлено: 2009-02-23 14:17:34
Laa
ну тогда вместо ip нужно использовать другой критерий.
$sender_domain например.
Посмотрите в spec, может чего вам подойдет лучше.
Может и сами лучше идею придумаете.

Re: Exim, хостинг, контроль отправляемых писем.

Добавлено: 2009-02-25 17:44:49
neyro
Считайте на любом этапе acl через warn и пишите к примеру в базу mysql, а до подсчета еще проверку делайте на колличество уже отправленной почты (через deny acl)...все просто как 2 пальца. Кроном в начале нового месяца в базе обнулять значения.