Страница 1 из 1
Неработают квоты в Exim?
Добавлено: 2006-12-26 22:20:40
alx
Поставил себе вот такой вариант
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) квоты без проблем работали.
Добавлено: 2006-12-27 11:14:54
dikens3
begin retry
* quota
* * F,2h,15m; G,16h,1h,1.5;
Добавлено: 2006-12-27 15:52:22
alx
Неа, не работает. Может ещё какие-то варианты есть у кого?
Я тут вот что заметил, у меня квоты работали када не стоял Курьер, при первом получении письма, Экзим создаёт папки, соответственно ... /cur, /new, /tmp. Если по приходу сообщения ни кто трогать не будет, то файл будет лежать в /new, в таком случае мне кажется что квоты работать будет, потому как Экзим по всей видимости смотрит на название лежащих там файлов и их общий объём в мегабайтах, а что получаем на деле, Курьер перекладывает файлы их /new в /cur, естественно, Экзим думает что там всегда ящик пустой.
Это мои соображения, если что-то не так, то поправьте меня... Было бы лучше узнать как вообще квоты функционируют в Exim...
Добавлено: 2006-12-27 20:29:14
Гость
Всё, всех с Новыым Годом и Рождеством Христовым!
Удалось разобратся, если кому надо, могу поделится... Теперь квоты работают...
... Всех с Новым Годом, товарищи...!

Добавлено: 2006-12-27 20:46:13
Alex Keda
ну так делись. интересно же

Добавлено: 2006-12-27 21:26:06
alx
Много объяснять не буду, тут собсно и говорить особе не чего. В том конфиге,
Связка 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-запросе за квотой, не знаю может и не из-за этого, надо будет ещё по играться с этим, выяснить, что именно там не то.
Я так подумал, может имеет смысл добавить то что в цитате в тот конфиг, что бы кто-то не спотыкался как я... Как считаешь?
Добавлено: 2006-12-27 22:08:38
Alex Keda
добавь. модет кому пригодится
Добавлено: 2006-12-27 22:22:50
alx
в смысле добавить, в основной текст?

или куда...???
Добавлено: 2006-12-27 23:03:44
Alex Keda
да хоть куда. лишь бы былО.
Добавлено: 2007-01-19 9:25:29
Kolesnikov
. 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