URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 81727
[ Назад ]

Исходное сообщение
"Exim mailbox quota "

Отправлено TS , 27-Авг-08 14:53 
Приветствую всех!
Стоит Exim на Debian Sarge. Сконфигурен как маленький почтовый сервер, письма принимает в maibox (в смысле не в Maildir). Настроена квота через
quota = ${lookup{$local_part}lsearch*{/etc/exim4/quotafile}{$value}{100M}}

Но хочется странного - чтобы отлуп по Mailbox full был сразу же после RCPT, а не после DATA.
Гуглением надыбал следующий ACL -

  deny    message = Mail cannot be delivered, mailbox is full.
          recipients = ${if exists{/etc/exim4/maildir_quota_exceeded}\
                       {/etc/exim4/maildir_quota_exceeded}\
                       {}}

Работает нормально, но через внешний скрипт, который переодически смотрит превышение квоты и помещает/удаляет логины провинившихся юзеров в/из /etc/exim4/maildir_quota_exceeded

А нет ли способа полностью автоматизировтаь это дело аналогично quota? То есть проверять размер mailbox при RCPT и сразу давать отлуп при превышении?


Содержание

Сообщения в этом обсуждении
"Exim mailbox quota "
Отправлено ALex_hha , 27-Авг-08 18:48 
>[оверквотинг удален]
>            
>          
>{}}
>
>Работает нормально, но через внешний скрипт, который переодически смотрит превышение квоты и
>помещает/удаляет логины провинившихся юзеров в/из /etc/exim4/maildir_quota_exceeded
>
>А нет ли способа полностью автоматизировтаь это дело аналогично quota? То есть
>проверять размер mailbox при RCPT и сразу давать отлуп при превышении?
>

Запускай скрипт, например на перле, который будет проверять размер файла (mailbox) с заданной квотой.


"Exim mailbox quota "
Отправлено Bosh , 27-Авг-08 19:42 
Поддерживаю товарищч !!!
Пишем на перле скрипт который юзает inet или unix сокет с проверочкой квоты (он возвращает число(размер)) ,  в exim  используем condition c readsocket для сравнения  

>[оверквотинг удален]
>>
>>Работает нормально, но через внешний скрипт, который переодически смотрит превышение квоты и
>>помещает/удаляет логины провинившихся юзеров в/из /etc/exim4/maildir_quota_exceeded
>>
>>А нет ли способа полностью автоматизировтаь это дело аналогично quota? То есть
>>проверять размер mailbox при RCPT и сразу давать отлуп при превышении?
>>
>
>Запускай скрипт, например на перле, который будет проверять размер файла (mailbox) с
>заданной квотой.


"Exim mailbox quota "
Отправлено Igor Gorobets , 12-Дек-10 03:16 
И тебе привет.
Я создал патчик для таких странностей.
Будет интересно пиши!

PS: К Вам задача такого рода . Квоту то на ящик понятно а как быть если я хочу сделать квоту для домена .

>[оверквотинг удален]
>            
>            
> {/etc/exim4/maildir_quota_exceeded}\
>            
>            
> {}}
> Работает нормально, но через внешний скрипт, который переодически смотрит превышение квоты
> и помещает/удаляет логины провинившихся юзеров в/из /etc/exim4/maildir_quota_exceeded
> А нет ли способа полностью автоматизировтаь это дело аналогично quota? То есть
> проверять размер mailbox при RCPT и сразу давать отлуп при превышении?


"Exim mailbox quota "
Отправлено Kuzmich , 16-Май-13 11:47 
У меня в итоге получился такой рабочий вариант:

  deny message = Message cannot be delivered, mailbox is full
        condition = ${lookup mysql{SELECT mailbox.username FROM `mailbox` \
                LEFT JOIN quota2 ON mailbox.username = quota2.username \
                WHERE mailbox.username = "$local_part@$domain" \
                AND quota2.bytes > mailbox.quota-31457280}{yes}{no}}

где 31457280 взялось из message_size_limit = 30M