Dovecot 2.4 - Issue with dict Configuration after Upgrade

Andreas Günther dovecot.user at linuxmaker.cloud
Mo Nov 3 11:12:02 CET 2025


Hello everyone,
I am currently performing a system upgrade from Debian 12 to 13, which also 
includes upgrading Dovecot from version 2.3.19.1 to 2.4.1-4. After the 
upgrade, I'm encountering an issue with my dovecot.conf, specifically at line 
7.
Previously, the dict definition in my dovecot.conf was as follows:
auth_mechanisms = plain login
dict {
  sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf
}
listen = *


After the upgrade, I changed the definition to:


dovecot_config_version = 2.4.1
auth_mechanisms = plain login
dict {
   socket {
        path = /var/run/dovecot/dict
        mode = 0660
        user = vmail
        group = vmail
   }


   quota {
     driver = mysql
     connect = "host=192.168.1.70 dbname=postfix user=postfix 
password=topsecret"
     map {
       pattern = priv/quota/storage
       table = quota2
       username_field = username
       value_field = bytes
     }
     map {
       pattern = priv/quota/messages
       table = quota2
       username_field = username
       value_field = messages
     }
   }
}
listen = *


However, Dovecot fails to start and gives the following error:
Nov 03 10:55:28 mx2 systemd[1]: Starting dovecot.service - Dovecot IMAP/POP3 
email server...
Nov 03 10:55:28 mx2 dovecot[3985567]: doveconf: Fatal: Error in configuration 
file /etc/dovecot/dovecot.conf line 7: dict { } is missing section name
Nov 03 10:55:28 mx2 systemd[1]: dovecot.service: Main process exited, 
code=exited, status=89/n/a
Nov 03 10:55:28 mx2 systemd[1]: dovecot.service: Failed with result 'exit-
code'.
Nov 03 10:55:28 mx2 systemd[1]: Failed to start dovecot.service - Dovecot 
IMAP/POP3 email server.


Unfortunately, I couldn't find any relevant information regarding this change 
in the dict configuration under Dovecot 2.3-to-2.4 Upgrade
. The error message suggests that the dict section is missing a section name, 
but I'm not sure how to structure this correctly after the upgrade.
My questions: 
Do I need to completely convert the contents of dovecot-dict-sql.conf into SQL 
queries and abandon the dict configuration entirely?
If so, how should I define the MySQL connection in Dovecot 2.4? Should I move 
it into the passdb sql {} block instead?
Thanks in advance for your help!
Best regards,
Andreas






Mehr Informationen über die Mailingliste Dovecot