Upgrading Dovecot v1.2 to v2.0¶
A lot of settings have changed. Dovecot v2.0 can still use most of the v1.x configuration files, but it logs a lot of warnings at startup. A quick and easy way to convert your old config file to v2.0 format is:
# convert old config to new temp config file
doveconf -n -c /etc/dovecot/dovecot.conf > dovecot-2.conf
# replace the old config file with the new generated file
mv dovecot-2.conf /etc/dovecot/dovecot.conf
This command logs a warning about each obsolete setting it converts to the new format. You can simply ignore all the warnings in most cases. If you really want to, you can modify your old config file using the instructions from the warnings, but even that can be done more easily by looking at the generated config file. Some of the warning messages aren’t obvious.
Once running v2.0, it’s safe to downgrade to v1.2.5 or newer. Older versions don’t understand some of the changes to index files and will log errors.
Other major changes¶
No more convert plugin, use
dsync
insteadNo more expire-tool, use
expire plugin
ordoveadm expunge
instead. Also expire configuration is different.Post-login scripts are configured differently and need to be modified
Quota warnings are configured differently and the script may need to be modified (most environment settings like
$USER
are gone)Global ACL filenames now require namespace prefix (e.g. if you use
INBOX.
prefix,/etc/acls/foo
needs to be renamed to/etc/acls/INBOX.foo
Maildir: Permissions for newly created mail files are no longer copied from dovecot-shared file, but instead from the mail directory (e.g. for “foo” mailbox, they’re taken from
~/Maildir/.foo
directory)dbox: v2.0 format is slightly different, but backwards compatible. The main problem is that v2.0 no longer supports maildir-dbox hybrid resulting from “fast Maildir migration”. If you have any Maildir files in your dbox, you need to convert them somehow some examples . You might also consider using
dsync
to get rid of the old unused metadata in your dbox files.Pre-login and post-login CAPABILITY reply is now different. Dovecot expects clients to recognize new automatically sent capabilities. This should work with all commonly used clients, but some rarely used clients might have problems. Either get the client fixed, or set
imap_capability
manually.ManageSieve protocol RFC 5804 was assigned an official port by IANA: 4190. This is used by Pigeonhole by default now. If you want to listen also on the old 2000 port, add an
inet_listener
withport = 2000
to themanagesieve-login
service. See inet_listeners.
dovecot --exec-mail imap
has been replaced by simply running “imap” binary. You can also useimap -u <username>
to access other users’ mails more easily.
LDA¶
deliver binary was renamed to dovecot-lda (but a symlink still exists for now)
-n
parameter was replaced bylda_mailbox_autocreate
setting. The default also changed to “no”.
-s
parameter was replaced bylda_mailbox_autosubscribe
setting. The default is “no”, as before.