Неработают квоты в Exim?

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
alx
мл. сержант
Сообщения: 101
Зарегистрирован: 2006-12-21 16:56:47
Откуда: Odessa

Неработают квоты в Exim?

Непрочитанное сообщение alx » 2006-12-26 22:20:40

Поставил себе вот такой вариант http://www.lissyara.su/?id=1175 , работает без замечаний, принимается, отправляется почта. Даже туда добавил квоты, имеется ввиду строку запроса quote такого вида:
quota = ${lookup mysql{SELECT quota FROM mailbox \
WHERE username='${local_part}' AND domain='${domain}'}{${value}M}}
quota_size_regex = S=(\d+)$
quota_warn_threshold = 90%
return_path_add

Но только вот проблема, выставил для теста себе размер ящика 1 Мб, ящик уже заполненный, присылаю ещё одно письмо, вместо того что бы вернуть месседж, Экзим его принимает. Что я не так делал. Когда то с таким вариантом пробовал (пример конфига тут http://www.opennet.ru/base/net/exim_setup.txt.html) квоты без проблем работали.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2006-12-27 11:14:54

begin retry
* quota
* * F,2h,15m; G,16h,1h,1.5;
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

alx
мл. сержант
Сообщения: 101
Зарегистрирован: 2006-12-21 16:56:47
Откуда: Odessa

Непрочитанное сообщение alx » 2006-12-27 15:52:22

Неа, не работает. Может ещё какие-то варианты есть у кого?

Я тут вот что заметил, у меня квоты работали када не стоял Курьер, при первом получении письма, Экзим создаёт папки, соответственно ... /cur, /new, /tmp. Если по приходу сообщения ни кто трогать не будет, то файл будет лежать в /new, в таком случае мне кажется что квоты работать будет, потому как Экзим по всей видимости смотрит на название лежащих там файлов и их общий объём в мегабайтах, а что получаем на деле, Курьер перекладывает файлы их /new в /cur, естественно, Экзим думает что там всегда ящик пустой.
Это мои соображения, если что-то не так, то поправьте меня... Было бы лучше узнать как вообще квоты функционируют в Exim...

Гость
проходил мимо

Непрочитанное сообщение Гость » 2006-12-27 20:29:14

Всё, всех с Новыым Годом и Рождеством Христовым!

Удалось разобратся, если кому надо, могу поделится... Теперь квоты работают...

... Всех с Новым Годом, товарищи...! :D

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35045
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-12-27 20:46:13

ну так делись. интересно же :)
Убей их всех! Бог потом рассортирует...

alx
мл. сержант
Сообщения: 101
Зарегистрирован: 2006-12-21 16:56:47
Откуда: Odessa

Непрочитанное сообщение alx » 2006-12-27 21:26:06

Много объяснять не буду, тут собсно и говорить особе не чего. В том конфиге, Связка exim и courier-map я закоментарил несколько строк, приведу кусок конфига от Exim-а:
mysql_delivery:
. driver = appendfile
. check_string = ""
. create_directory
. delivery_date_add
. directory = ${lookup mysql{SELECT CONCAT('/home/vmail/', `maildir`) \
. FROM `mailbox` WHERE `username`='${local_part}@${domain}'}}
. directory_mode = 770
. envelope_to_add
. group = mail
. maildir_format
# maildir_tag = ,S=$message_size
# message_prefix = ""
# message_suffix = ""
. mode = 0600
# quota = ${lookup mysql{SELECT quota FROM mailbox \
# WHERE username='${local_part}' AND domain='${domain}'}{${value}M}}
# quota_size_regex = S=(\d+)$
# quota_warn_threshold = 95%
# return_path_add

. no_mode_fail_narrower
. quota = ${lookup mysql{SELECT quota FROM mailbox \
. WHERE username = '$local_part@$domain'}{$value}fail}M

. quota_warn_message = "\
. To: $local_part@domain\n\
. From: postmaster@domain.ua\n\
. Subject: Your maildir is going full\n\
. This message is automaticaly gnerated by your mail server.\n\
. This means, that your mailbox is 75% full. If you would \n\
. override this limit new mail would not be delivered to you!\n"
. quota_warn_threshold = 75%
Вот, это то, что я сделал. И ещё, любопытный факт, я в Курьере перемещал "тяжёлые" письма в подпапку которая находится во "Входящих", и что в том же Драфте или Трэше, ящик всё равно остаётся полный. Единственный выход, это только что бы юзер постоянно наводил в своём ящике порядок, что бы не лежали там всякие порно-ролики и прочий хлам. Т.е. Exim, контролирует заполненность IMAP-папок в Courier-IMAPe. Что есть гуд.

Пока не пробовал, но по всей видимости загвоздка была на мой взгляд в SQL-запросе за квотой, не знаю может и не из-за этого, надо будет ещё по играться с этим, выяснить, что именно там не то.

Я так подумал, может имеет смысл добавить то что в цитате в тот конфиг, что бы кто-то не спотыкался как я... Как считаешь?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35045
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-12-27 22:08:38

добавь. модет кому пригодится
Убей их всех! Бог потом рассортирует...

alx
мл. сержант
Сообщения: 101
Зарегистрирован: 2006-12-21 16:56:47
Откуда: Odessa

Непрочитанное сообщение alx » 2006-12-27 22:22:50

в смысле добавить, в основной текст? :shock: или куда...???

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35045
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-12-27 23:03:44

да хоть куда. лишь бы былО.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Kolesnikov
рядовой
Сообщения: 42
Зарегистрирован: 2007-01-09 14:49:39
Откуда: г.Тайга

Непрочитанное сообщение Kolesnikov » 2007-01-19 9:25:29

. no_mode_fail_narrower
. quota = ${lookup mysql{SELECT quota FROM mailbox \
. WHERE username = '$local_part@$domain'}{$value}fail}M

. quota_warn_message = "\
. To: $local_part@domain\n\
. From: postmaster@domain.ua\n\
. Subject: Your maildir is going full\n\
. This message is automaticaly gnerated by your mail server.\n\
. This means, that your mailbox is 75% full. If you would \n\
. override this limit new mail would not be delivered to you!\n"
. quota_warn_threshold = 75%
Cделал то же самое, отправителю письмо возвращается, НО получателю не приходят письма с предупреждением о превышении. Может здесь чего-то не хватает?
---------------------------------------------------------------------------
Все, нашел причину: переписал у автора с ошибкой.
забыл поставить "$" перед domain. Поэтому пытался отправить на user@domain