freebsd+exim+mysql+dovecot2+pop3 - прикрутить квоты

Здесь обсуждаются вопросы настройки и администрирования почтового сервера Exim.
Писать в этот форум могут только зарегистрированные пользователи.

Модераторы: prefer, alexandrnew, ALex_hha, Roman, Axel

Ответить
dalt
Член клуба
Член клуба
Сообщения: 300
Зарегистрирован: 01 июн 2006, 14:57

freebsd+exim+mysql+dovecot2+pop3 - прикрутить квоты

Сообщение dalt » 06 июн 2016, 14:40

Есть почтовый сервер Exim, который работает уже с полгода, без нареканий (хотя может конфиг где-то и кривоват :) ).
Пользователей мало так что нужды в квотах не было, да и спешил когда поднимал. Сейчас есть необходимость произвести миграцию пользователей с другого сервера, их тоже немного, но контроля над ними нет, так что нужны квоты.

И вот тут я напрочь запутался, потому, что в dovecot2 нужно вписать данные в кучу разных конфигов, у разных людей в статьях по разному, в wiki не понятно, не хватает примеров.

Подскажите необходимый минимум конфигов которые нужно править (а в идеале и что в них писать :oops: ) , чтоб заработали квоты на размер ящика. Ограничение по количеству сообщений не нужно. Пользователи работают по pop3 протоколу исключительно.

Я пытался делать по статье как вот здесь http://vladimir-stupin.blogspot.ru/2014/01/dovecot.html

Но закончилось всё вот такими ошибками в логе довекота:

dict(2442): Error: sql dict atomic inc: Invalid/unmapped key: priv/quota/messages
pop3(dalt@****.ru): Error: dict quota: Quota update failed, it's now desynced

Гугление по ним ясности не добавило. Я так понимаю, что он где-то должен вести учет размера ящика путем складывания размеров каждого письма, но я, опять же, не понимаю, где вообще это надо указывать.

Свои конфиги пока не привел, потому что их 100500 разных у довекота, если какие-то нужны - то укажу отдельно.
Изучаю Postfix.
Изучено ~10%...

dalt
Член клуба
Член клуба
Сообщения: 300
Зарегистрирован: 01 июн 2006, 14:57

Сообщение dalt » 07 июн 2016, 11:39

В общем я тормоз, и моя задача решалась очень просто, добавлением одной строчки в конфиг exim

quota = ${lookup mysql{SELECT quota from exim_users WHERE login='${local_part}' AND domain='${domain}';}}M

Код: Выделить всё

local_delivery:
  driver = appendfile
  check_string = ""
  create_directory
  delivery_date_add
  directory = ${lookup mysql{SELECT \
             LOWER(CONCAT('/usr/local/var/mail/',email)) FROM exim_users \
             WHERE login='${local_part}' AND domain='${domain}';}}
  directory_mode = 770
  envelope_to_add
  group = mail
  maildir_format
  maildir_tag = ,S=$message_size
  quota = ${lookup mysql{SELECT quota from exim_users WHERE login='${local_part}' AND domain='${domain}';}}M
  message_prefix = ""
  message_suffix = ""
  mode = 0660
  return_path_add
Поскольку у меня, как я вспомнил, только авторизация через dovecot :o

з.ы. я наверное что-то не понимаю, потому что теперь мне не ясно - зачем большинство делает квоты через dovecot
Изучаю Postfix.
Изучено ~10%...

Ответить