Страница 1 из 1

dovecot 1.1 + quote mysql

Добавлено: 2009-07-17 15:17:20
J.Korvin
Установил dovecot хочу превязать квоты пишу в главный конфиг вписал

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

protocol imap {
  mail_plugins = quota imap_quota
}
protocol pop3 {
  mail_plugins = quota
}
# In case you're using deliver:
protocol lda {
  mail_plugins = quota
} 
В dovecot-sql.conf

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

driver = mysql
connect = host=localhost dbname=mailexim user=root password=*********
default_pass_scheme = MD5-CRYPT
password_query = SELECT `username` as `user`, `password` FROM  `mailbox` WHERE `username` = '%n@%d' AND `active`='1'

user_query = SELECT `maildir` AS `home`, 26 AS `uid`, 26  AS `gid`, concat('*:storage=', quota, 'B') AS quota_rule FROM  `mailbox` WHERE `username` = '%n@%d' AND `active`='1'
Читал вот тут http://wiki.dovecot.org/Quota/ что я не так делаю не могу понять когда квоту ставлю вручную то работает а когда из базы то нет. Спасибо

Re: dovecot 1.1 + quote mysql

Добавлено: 2009-07-18 0:43:50
FenX

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

protocol imap {
.....
  mail_plugins = quota imap_quota
}
protocol pop3 {
.....
  mail_plugins = quota
}
protocol lda {
  mail_plugins = quota
.....
}
.....
plugin {
	quota = maildir
	quota_rule=*:storage=10240
}
dovecot-mysql.conf

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

user_query = SELECT 26 AS uid, 26 AS gid, concat('*:storage=', q.quota) AS quota_rule FROM users u, quotas q WHERE u.login = '%n' AND u.domain = '%d' AND q.type=u.quota
sql дампы

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

DROP TABLE IF EXISTS `quotas`;
CREATE TABLE `quotas` (
  `type` char(10) character set cp1251 NOT NULL default 'user',
  `quota` int(10) NOT NULL default '0',
  PRIMARY KEY  (`type`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin;

-- ----------------------------
-- Records 
-- ----------------------------
INSERT INTO `quotas` VALUES ('user', '20480');
INSERT INTO `quotas` VALUES ('admin', '0');

DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
  `login` varchar(64) NOT NULL default '',
  `passwd` varchar(64) NOT NULL default '',
  `domain` varchar(128) NOT NULL default 'domain.com',
  `quota` char(10) default 'user',
  `status` enum('0','1') default '1',
  PRIMARY KEY  (`login`,`domain`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

-- ----------------------------
-- Records 
-- ----------------------------
INSERT INTO `users` VALUES ('user', 'pass', 'domain.com', 'admin', '1');
работает :)

Re: dovecot 1.1 + quote mysql

Добавлено: 2009-07-20 8:14:42
Гость
Не работает вообще даже коннектиться к имапу перестал

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

Jan  1 01:40:24 kino dovecot: auth-worker(default): mysql: Connected to localhost (mailexim)
Jan  1 01:40:35 kino dovecot: auth-worker(default): sql(users@domain.com.ua,193.269.258.1): User query failed: Table 'mailexim.users' doesn't exist
Jan  1 01:40:36 kino dovecot: imap-login: Internal login failure (auth failed, 1 attempts): user=<users@domein.com.ua>, method=PLAIN, rip=193.239.254.187, lip=193.239.254.187, secured

Re: dovecot 1.1 + quote mysql

Добавлено: 2009-07-20 10:57:25
uHk
2 FenX: а у вас реально работают квоты? у меня довекот все равно принимает почту, даже если квота переполнена

Re: dovecot 1.1 + quote mysql

Добавлено: 2009-07-20 23:48:05
FenX
когда последний раз смотрел - работали.
сейчас у мну ящиков-то всего 2)) мой и брата))
так что даже проверить не на чем)

спецом создавать и тестить сейчас впадлу))
мб позже)