Счетчик

Поисковый анализ сайта
яндекс.ћетрика
Cервер и сайт запущен 2011.02.01 на Debian

И так, рано или поздно системному администратору придется столкнуться с тем что народ не чистит свои ящики и забивает их до отказа, жесткого диска как всегда не хватает. И тут нам надо выкручиваться как умеем. Первый вариант обойти всех и почистить почту (но не факт того, что пользователю не понравится это) Можно удалить ничаянно нужное письмо. Другой вариант, оповестить всех......но тоже не прокатит есть ведь линивые пользователи которые не хотят или которые могут забыть. Есть лучше вариант. Настроить postfix на квотирование. Нам в этом поможет DOVECOT.

И так приступим Добавляем плагин в dovecot

Открываем на редактирование файл:

nano /etc/dovecot/dovecot.conf


Добавляем строку между:

postmaster_address = Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
.....
mail_plugins = quota sieve
.....
global_script_path = /home/vmail/globalsieverc



Далее добавляем точно так же после блока:

global_script_path = /home/vmail/globalsieverc
.......
plugin {
  quota = maildir:User quota
  quota_rule = *:storage=75M
  quota_rule2 = Trash:storage=50M
  quota_warning = storage=95%% /var/mail/quota-warning.sh 95
  quota_warning2 = storage=80%% /var/mail/quota-warning.sh 80
}



В этом блоке говорится о том, что при заполнении почтового ящика на 80,95% будет высылаться соответствующее письмо админу и пользователю.

Этот блок говорит о том, что на папку входящая будет квота 75 МБ, на корзину 50 МБ. И создаем скрипт для тех у кого заполнился почти ящик

nano /var/mail/quota-warning.sh

#!/bin/sh
PERCENT=$1
FROM="Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра."
qwf="/tmp/quota.warning.$$"
echo "From: $FROM
To: $USER
To: Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
Subject: Your email quota is $PERCENT% full
Content-Type: text/plain; charset="UTF-8"
Your mailbox is now $PERCENT%+ full, please make some more room or contact your administrator" >> $qwf
cat $qwf | /usr/sbin/sendmail -f $FROM "$USER"
rm -f $qwf
exit 0




После этого блока сразу добавляем блок по каким протаколам будет вестись квотирование

protocol imap {
  mail_plugins = quota imap_quota
}
protocol pop3 {
  mail_plugins = quota
}
protocol lda {
  mail_plugins = quota
}



Так же можно поставить глобальное квотирование на почтовый сервак например в 1 GB

Добавляем в такую строку:
nano /etc/dovecot/dovecot.conf

plugin {
  quota = maildir:storage=1000000:messages=1000
}



Так же можно выполнить такое для каждого пользователя в отдельности
В mysql выполним команду:

mysql>
ALTER TABLE `virtual_users` ADD `quota_kb` INT NOT NULL,
ADD `quota_messages` INT NOT NULL ;


Ну и выставляем кому сколько нужно, но если вы настроили квотирование в dovecot то mysql не будет следить за квотированием. 

Делаем для mysql коментируем и добавляем:

#userdb static {
#  args = uid=5000 gid=5000 home=/var/vmail/%d/%n allow_all_users=yes
#

userdb sql {
     args = /etc/dovecot/dovecot-sql.conf
}



Меняем в /etc/dovecot/dovecot-sql.conf
nano /etc/dovecot/dovecot-sql.conf

user = SELECT CONCAT('/home/vmail/',CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1))) AS home, 5000 AS uid, 5000 AS gid, CONCAT('maildir:storage=',quota_kb,':messages=',quota_messages) AS quota FROM virtual_users WHERE email='%u';


Лучше сделать еще вот так

args = uid=5000 gid=5000 home=/var/vmail/%d/%n allow_all_users=yes



Вот примерно как то так! Если будут вопросы спрашивайте, обязательно помогу!

Комментарии   

0 #3 Super User 14.07.2015 16:41
Цитирую Gerych:
Доброго времени суток!!)
делаю квотирование с помощью mysql, не трудно ли Вам описать параметры которые написаны в : Меняем в /etc/dovecot/dovecot-sql.conf
nano /etc/dovecot/dovecot-sql.conf

user = ...
интересует именно что такое :
1.(email,'@',-1) сам параметр "email" где он берется, или его довекот создает?
2.параметр "messages=" где его значение?? откуда он берется?
3. параметр "quota_messages"
Буду очень благодарен помощи.)



А поточнее вопрос, можно?
Все эти переменные.... считывает и обрабатывает скул, довкот только расскладывает почту по папкам.
Цитировать | Сообщить модератору
0 #2 Gerych 14.07.2015 16:28
Доброго времени суток!!)
делаю квотирование с помощью mysql, не трудно ли Вам описать параметры которые написаны в : Меняем в /etc/dovecot/dovecot-sql.conf
nano /etc/dovecot/dovecot-sql.conf

user = ...
интересует именно что такое :
1.(email,'@',-1) сам параметр "email" где он берется, или его довекот создает?
2.параметр "messages=" где его значение?? откуда он берется?
3. параметр "quota_messages"
Буду очень благодарен помощи.)
Цитировать | Сообщить модератору
0 #1 dommav 11.08.2014 23:32
Добрый день, всем,
подскажите, кто-то настраивал квоты Dovecot в связке c Microsoft Windows Active Directory?
Если есть какая либо инфа - прошу помощи в настройке или мануальчик.
Цитировать | Сообщить модератору

Добавить комментарий


Защитный код
Обновить