>все зависит от того как у тебя реализована проверка квоты.
>Точно не помню, но MTA должен передавать размер письма, если так,
>то все письмо не принимает. Опять же, все зависит от твоей реализации
>
>проверки квоты на mailbox (сам sendmail квоту на mailbox не проверяет)
>
>ps. в принципе есть проект milterquota - посмотри, попробуй...
/dev/ad2s1h /var ufs rw,userquota 2 6
Quotas for user test:
/var: kbytes in use: 18, limits (soft = 1024, hard = 1000)
inodes in use: 10, limits (soft = 0, hard = 0)
Времена когда нужно было патчить mail.local я не застала. Сейчас он с квотами справляется.
Меня смущает то, что почту приходится принимать в спул.
telnet localhost 25
приветствие
mail from: user@domen.ru
250 2.1.0 user@domen.ru... Sender ok
rcpt to: test@domen.ru
250 2.1.5 test@domen.ru... Recipient ok
data
354 Enter mail, end with "." on a line by itself
la-la-la-la-la на 8 мегабайт при квоте 1 мегабайт
.
250 2.0.0 j1GBV7wn052811 Message accepted for delivery
После этого вызывается mail.local, и в логах видно чудную картину
Feb 16 14:36:18 relay sm-mta[1220]: j1GCa866001220: from=<user@domen.ru>, size=8979644, class=0, nrcpts=1, msgid=<1439525726.20050216143512@domen.ru>, proto=ESMTP, daemon=MTA, relay=domen.ru[1.2.3.4]
Feb 16 14:36:19 relay sm-mta[1224]: j1GCa866001220: to=<test@domen.ru>, delay=00:00:11, xdelay=00:00:01, mailer=local, pri=9009869, relay=local, dsn=5.2.2, stat=Service unavailable (/var/mail/test: Disc quota exceeded)
Feb 16 14:36:19 relay sm-mta[1224]: j1GCa866001220: j1GCaJ66001224: DSN: Service unavailable (/var/mail/test: Disc quota exceeded)
Mail.local свое дело сделал, письмо в ящик пользователю не попало. Мы его по-честному отправляем назад:
Feb 16 14:36:29 relay sm-mta[1224]: j1GCaJ66001224: to=<user@domen.ru>, delay=00:00:10, xdelay=00:00:10, mailer=esmtp, pri=31024, relay=domen.ru.[1.2.3.4], dsn=2.0.0, stat=Sent (OAA00989 Message accepted for delivery)
В какой-то момент в /var/spool/mqueue у нас есть:
dfj1GCa866001220¦8978985¦фев 16 14:36¦
dfj1GCaJ66001224¦8981032¦фев 16 14:36¦
qfj1GCa866001220¦ 1162¦фев 16 14:36¦
qfj1GCaJ66001224¦ 833¦фев 16 14:36¦
То есть при такой проверке квот как у меня, получается, что трафик идет, запись на винчестер идет. А если огромное письмо еще и СПАМом является и sendmail его будет пытаться отправить на несуществующий адрес.....
Хорошо бы было, На этапе "rcpt to: " говорить "REJECT" или "550".
Например, скрипт, который будет периодически сравнивать квоту с размером ящика и редактировать access. Эта мысль звучала на форуме года два назад. За это время ее могли реализовать.
Самостоятельно я пока не справлюсь с такой задачей. Отсюда и вопрос.
А milterquota посмотрю. Спасибо.
P. S. Чтобы что то найти, нужно поисковику сформулировать запрос. :)