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

Exim - превышение квоты

Добавлено: 2010-06-01 21:34:35
andryu
Имеется сервер на freebsd с установленным ISPmanager.
В exim-e локальная доставка осуществляется следующим транспортом

Код: Выделить всё

        local_delivery:
                driver = appendfile
                directory = ${extract{4}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}/.maildir
                maildir_format
                maildir_use_size_file
                delivery_date_add
                envelope_to_add
                return_path_add
                mode = 0660
                quota = ${extract{3}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}M
                quota_warn_threshold = 75%
                use_lockfile = no
                no_mode_fail_narrower
                user = ${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}
                group = ${extract{2}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}
Пользователи должны получать уведомления, когда их ящик заполнен на 75%. Такое решение не очень удачно.
Например, у пользователя 20Мб лимит, ящик заполнен на 50%(10Мб), ему приходит письмо размером 15Мб и ложиться в очередь, так как в ящик оно не влазит. Пользователь об этом не знает и не узнает, если только не почистит ящик..
Или, например, лимит на хостинге у пользователя 100Мб, а он на ящик выделил 200Мб(такое в ISP-e возможно). В таком случае 75% заполненности не наступит никогда.
Или у пользователя 500Мб под всё, он выделяет под ящик 500Мб, закачивает сайт 200Мб.. 75% не видать.. Таких вариантов много может быть.

При невозможности доставить почту из-за превышении квоты Exim только в лог пишет ошибку

Код: Выделить всё

2010-06-01 20:02:15 1OJPS3-000OEf-2j == info@domen.com (info@domen.com) <info@domen.com> R=localuser T=local_delivery defer (-22): mailbox is full (MTA-imposed quota exceeded while writing to tmp/1275411735.H620168P54274.mail.domen.com)
Возможно ли заставить exim вместе с записью ошибки в лог слать уведомление пользователю: "Вам пришла почта, но не может быть доставлена т.к. не влазит в свободное место ящика. Увеличьте лимит или ящик почистите." ?
Что-то в таком духе. Если бы ещё инфа о письме писалась, то совсем прекрасно было бы.

p.s.: Только надо продумать вариант, когда уведомление не может доставиться в ящик по причине его заполненности. Можно не высылать уведомление о не доставленном уведомлении.

Re: Exim - превышение квоты

Добавлено: 2010-06-10 13:25:42
Sp1D
В конфе от vexim в транспорте виртуальной локальной доставки есть следующее

Код: Выделить всё

quota = ${lookup mysql{select users.quota from users,domains \
                where localpart = '${quote_mysql:$local_part}' \
                and domain = '${quote_mysql:$domain}' \
                and users.domain_id = domains.domain_id}{${value}M}}
  quota_is_inclusive = false
  #quota_size_regex = ,S=(\d+):
  quota_warn_threshold = 75%
  maildir_use_size_file = false
  quota_warn_message = "To: $local_part@$domain\n\
                        Subject: Mailbox quota warning\n\n\
                        This message was automatically generated by the mail delivery software.\n\n\
                        You are now using over 75% of your allocated mail storage quota.\n\n\
                        If your mailbox fills completely, further incoming messages will be automatically\n\
                        returned to their senders.\n\n\
                        Please take note of this and remove unwanted mail from your mailbox.\n"
Правда, я еще не проверял работоспособность :)

Re: Exim - превышение квоты

Добавлено: 2011-03-23 23:41:26
andryu
Вопрос актуален ещё.