Tamas Hegedus, 29.01.19:

* Configuration uses mail_location = mbox:~/mails
* setup per-user mail location and do for each user individually in a serial manner: -- doveadm sync maildir:~/Maildir; mbox is synced to Maildir, long running time
[1]
-- doveadm sync maildir:~/Maildir; rerun to do it for new messages (fast)
-- add USER to userdb and set extra field to maildir:~/Maildir
users not present in the userdb should default to dovcot default;
[2]
the conditionally optional: doveadm auth cache flush

More or less how I would plan a migration, but to be fanatically safe
and avoiding race conditions where a user could be manipulating their
mailbox or new having mail delivered, I would put some service mutex
between [1] and [2].

By that I mean at [1]

        a) tempfail any incoming mail for that user; and

        b) kick the user off IMAP/POP and make sure they can't log back
        in during the final synching.  (Add them to separate deny userdb?)

After the final sync [2], undo these steps.

Joseph Tam <[email protected]>

Reply via email to