Portál AbcLinuxu, 9. listopadu 2025 16:59
V MySQL databázi jsem vytvořil tabulku kam bude dovecot cpát informace o zabraném místě:
CREATE TABLE IF NOT EXISTS `mail_usrquota` ( `username` varchar(100) NOT NULL, `bytes` bigint(20) NOT NULL DEFAULT '0', `messages` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;Následovala lehká změna v konfiguraci z Maildir++ quoty na ukládání do MySQL: Změny v konfiguračním souboru dovecot.conf:
dict {
quotadict = mysql:/etc/dovecot/dovecot-dict-sql.conf
}
plugin {
quota = dict:user::proxy::quotadict
# quota_rule je pro každého uživatele generováno zvlášť z LDAPu.
}
Obsah souboru dovecot-dict-sql.conf:
connect = host=DBSERVER dbname=DBNAME user=USERNAME password=PASSWORD
map {
pattern = priv/quota/storage
table = mail_usrquota
username_field = username
value_field = bytes
}
map {
pattern = priv/quota/messages
table = mail_usrquota
username_field = username
value_field = messages
}
Po restartu dovecotu automaticky vše funguje. Informace o obsazeném místě se při použití pěkně vyplňují do databáze.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.