Benny Pedersen
2012-Aug-10 11:03 UTC
[Dovecot] postfix mysql quota map to dovecot dict in mysql
currently dovecot dict is CREATE TABLE IF NOT EXISTS `quota` ( `username` varchar(100) COLLATE latin1_general_ci NOT NULL, `bytes` bigint(20) NOT NULL DEFAULT '0', `messages` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`username`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; there is not field that says how much quota each user have, so one cant make a query on how much its left pr user how can i resolve this in dovecot dict ? i like to do an postfix mysql map to temp reject if quota is out of limit -- Benny Pedersen
Robert Schetterer
2012-Aug-10 11:44 UTC
[Dovecot] postfix mysql quota map to dovecot dict in mysql
Am 10.08.2012 13:03, schrieb Benny Pedersen:> > currently dovecot dict is > > > CREATE TABLE IF NOT EXISTS `quota` ( > `username` varchar(100) COLLATE latin1_general_ci NOT NULL, > `bytes` bigint(20) NOT NULL DEFAULT '0', > `messages` int(11) NOT NULL DEFAULT '0', > PRIMARY KEY (`username`) > ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; > > > there is not field that says how much quota each user have, so one cant > make a query on how much its left pr user > > how can i resolve this in dovecot dict ? > > i like to do an postfix mysql map to temp reject if quota is out of limit >you may use ideas out of postfixadmin mysql layout -- Best Regards MfG Robert Schetterer
Benny Pedersen
2012-Aug-10 15:18 UTC
[Dovecot] postfix mysql quota map to dovecot dict in mysql
Den 2012-08-10 13:03, Benny Pedersen skrev:
if others need something like this:
CREATE TABLE IF NOT EXISTS `quota` (
`username` varchar(100) COLLATE latin1_general_ci NOT NULL,
`bytes` bigint(20) NOT NULL DEFAULT '0',
`messages` int(11) NOT NULL DEFAULT '0',
`quotamax` bigint(20) NOT NULL DEFAULT '0',
PRIMARY KEY (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
# /etc/postfix/dovecot_quota_maps.cf
user = user
password = password
hosts = localhost
dbname = database
query = SELECT CONCAT('DEFER_IF_PERMIT Quotas Excceded') FROM quota
WHERE username='%s' AND bytes>=quotamax
# /etc/postfix/main.cf
smtpd_recipient_restrictions check_recipient_access
mysql:/etc/postfix/dovecot_quota_maps.cf
enjoy
add to wiki if one could do this