> On 03/05/2021 09:10 EEST Aki Tuomi <aki.tu...@open-xchange.com> wrote: > > > > On 30/04/2021 09:38 Steffen Kaiser <skdove...@smail.inf.h-brs.de> wrote: > > > > > > Hi, > > > > the > > > > https://doc.dovecot.org/configuration_manual/imap_metadata/ > > > > sample uses > > > > mail_attribute_dict = file:%h/Maildir/dovecot-attributes > > > > which stores all keys=value pairs in the file. > > > > http://dovecot.2317879.n4.nabble.com/Dovecot-v2-3-9-3-HTTP-API-Endpoint-for-mailbox-cryptokey-operations-td70801.html > > > > uses a SQL dict, however very specific ones. How can I use a SQL dict to > > store _all_ keys, as with a file based storage? > > > > I cannot find a documentation for "pattern" specification, that works as > > "catch all", in order to store anything not catched by patterns into the > > database. > > > > https://wiki.dovecot.org/Dictionary does not give any hint (in my eyes). > > > > > > > > -- > > Steffen Kaiser > > > for one, you need to use proxy::metadata > > then define > > dict { > metadata = mysql:/path/to/config > } > > then you need the mapping file, which you could use something like: > > connect = host=localhost dbname=dovecot user=dovecot password=dovecot > map { > pattern = priv/$key > fields { > meta_key = $key > } > table = meta > username_field = username > value_field = value > } > > with > > CREATE TABLE meta ( > username VARCHAR(255) NOT NULL, > meta_key VARCHAR(255) NOT NULL, > value VARCHAR(255), > PRIMARY KEY(username, `key`) > ); > > Hope this helps. > > Aki
Hi! There is now better documentation on how to achieve this: https://doc.dovecot.org/configuration_manual/dict/#sql-dict-with-mail-attribute-dict Aki