В 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}}}}
Например, у пользователя 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)
Что-то в таком духе. Если бы ещё инфа о письме писалась, то совсем прекрасно было бы.
p.s.: Только надо продумать вариант, когда уведомление не может доставиться в ящик по причине его заполненности. Можно не высылать уведомление о не доставленном уведомлении.