The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"конверт sendmail и квоты"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"конверт sendmail и квоты"
Сообщение от Lisa Искать по авторуВ закладки(ok) on 14-Фев-05, 18:55  (MSK)
FreeBSD, sendmail, mail.local
===============================
В моем понимании удачный процесс получения почты происходит так:
1. С моим сервером устанавливают соединение.
2. Мой процесс sendmail проверяет конверт.
3. Создаем qf*, разрешаем передавать сообщение, создаем df*..... Дальше идет процесс приема письма, завершающийся подтверждением приема 250 ОК.
4. Вызываем mail.local, который раскладывает почту по ящикам.

Я думаю, что конверт соответствует содержимому команд mail from и rcpt to (вернее списку адресов из полей заголовка To, Cc и Bcc). Правильно ли я думаю?

Мой sendmail не может отклонить письмо, если оно превышает квоту пользователя на дисковое пространство, потому как не его это дело.

Квоты проверяет mail.local, а для того чтобы письмо к нему попало нужно его получить.

Правильно ли я понимаю, что бязательно получать почту  пользователя у которого превышена квота на дисковое пространство? Или можно избежать этого процесса?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "конверт sendmail и квоты"
Сообщение от Lisa Искать по авторуВ закладки(ok) on 15-Фев-05, 10:42  (MSK)
up
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "конверт sendmail и квоты"
Сообщение от lavr emailИскать по авторуВ закладки on 15-Фев-05, 14:13  (MSK)
>FreeBSD, sendmail, mail.local
>===============================
>В моем понимании удачный процесс получения почты происходит так:
>1. С моим сервером устанавливают соединение.
>2. Мой процесс sendmail проверяет конверт.
>3. Создаем qf*, разрешаем передавать сообщение, создаем df*..... Дальше идет процесс приема
>письма, завершающийся подтверждением приема 250 ОК.
>4. Вызываем mail.local, который раскладывает почту по ящикам.
>
>Я думаю, что конверт соответствует содержимому команд mail from и rcpt to
>(вернее списку адресов из полей заголовка To, Cc и Bcc). Правильно
>ли я думаю?
>
>Мой sendmail не может отклонить письмо, если оно превышает квоту пользователя на
>дисковое пространство, потому как не его это дело.
>
>Квоты проверяет mail.local, а для того чтобы письмо к нему попало нужно
>его получить.
>
>Правильно ли я понимаю, что бязательно получать почту  пользователя у которого
>превышена квота на дисковое пространство? Или можно избежать этого процесса?


все зависит от того как у тебя реализована проверка квоты.
Точно не помню, но MTA должен передавать размер письма, если так,
то все письмо не принимает. Опять же, все зависит от твоей реализации
проверки квоты на mailbox (сам sendmail квоту на mailbox не проверяет)

ps. в принципе есть проект milterquota - посмотри, попробуй...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "конверт sendmail и квоты"
Сообщение от Lisa Искать по авторуВ закладки(ok) on 17-Фев-05, 14:44  (MSK)
>все зависит от того как у тебя реализована проверка квоты.
>Точно не помню, но 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. Чтобы что то найти, нужно поисковику сформулировать запрос. :)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "конверт sendmail и квоты"
Сообщение от Medlar Искать по авторуВ закладки on 17-Фев-05, 15:43  (MSK)
http://www.opennet.me/base/net/mailsize_quota.txt.html
?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "конверт sendmail и квоты"
Сообщение от Lisa Искать по авторуВ закладки(ok) on 17-Фев-05, 16:17  (MSK)
>http://www.opennet.me/base/net/mailsize_quota.txt.html

Эта мысль звучала на форуме года два назад. За это время ее могли реализовать.

>?
Я перешла с DOS и FoxPro на FreeBSD и Postgres полностью только месяц назад. В настоящий момент у меня не хватает знаний, чтобы положить в /usr/local/sbin mailusers_quota_check, который будет возвращать на stdout OK если есть место ERR если места нет.


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру