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

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
andryu
мл. сержант
Сообщения: 86
Зарегистрирован: 2008-07-31 15:55:40
Откуда: Riga

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

Непрочитанное сообщение andryu » 2010-06-01 21:34:35

Имеется сервер на 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.: Только надо продумать вариант, когда уведомление не может доставиться в ящик по причине его заполненности. Можно не высылать уведомление о не доставленном уведомлении.

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Sp1D
проходил мимо
Сообщения: 9
Зарегистрирован: 2010-06-10 9:12:17

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

Непрочитанное сообщение Sp1D » 2010-06-10 13:25:42

В конфе от 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"
Правда, я еще не проверял работоспособность :)

Аватара пользователя
andryu
мл. сержант
Сообщения: 86
Зарегистрирован: 2008-07-31 15:55:40
Откуда: Riga

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

Непрочитанное сообщение andryu » 2011-03-23 23:41:26

Вопрос актуален ещё.