serverfault.com: Migrating to postfix from qmail/vpopmail
catalyst2: MailDir and Mdbox
iRedMail: Change per-user mailbox format (e.g. maildir, mdbox)
dovecot
# pkg info | grep dovecot
dovecot2-2.2.20 Secure, fast and powerful IMAP and POP3 server
Doc
dbox Mailbox Format
Migrating mailboxes
Wiki
Migration/MailFormat: Converting between mailbox formats
Tools/Doveadm/Sync: Doveadm-Sync
Migrating from any IMAP/POP3 server to Dovecot via dsync
mail_location = maildir:/usr/local/vpopmail/domains/%d/%n/Maildir
/etc/dovecot/dovecot.conf
/etc/dovecot/dovecot-dict-auth.conf.ext
/etc/dovecot/dovecot-dict-sql.conf.ext
/etc/dovecot/dovecot-sql.conf.ext
/etc/dovecot/conf.d/10-auth.conf
/etc/dovecot/conf.d/10-director.conf
/etc/dovecot/conf.d/10-logging.conf
/etc/dovecot/conf.d/10-mail.conf
/etc/dovecot/conf.d/10-master.conf
/etc/dovecot/conf.d/10-ssl.conf
/etc/dovecot/conf.d/10-tcpwrapper.conf
/etc/dovecot/conf.d/15-lda.conf
/etc/dovecot/conf.d/15-mailboxes.conf
/etc/dovecot/conf.d/90-acl.conf
/etc/dovecot/conf.d/90-plugin.conf
/etc/dovecot/conf.d/90-quota.conf
/etc/dovecot/conf.d/auth-checkpassword.conf.ext
/etc/dovecot/conf.d/auth-deny.conf.ext
/etc/dovecot/conf.d/auth-dict.conf.ext
/etc/dovecot/conf.d/auth-master.conf.ext
/etc/dovecot/conf.d/auth-passwdfile.conf.ext
/etc/dovecot/conf.d/auth-sql.conf.ext
/etc/dovecot/conf.d/auth-static.conf.ext
/etc/dovecot/conf.d/auth-system.conf.ext
/etc/dovecot/conf.d/auth-vpopmail.conf.ext
/etc/systemd/system/multi-user.target.wants/dovecot.service → /lib/systemd/system/dovecot.service
$ doveadm backup -f -u info@xxx.com maildir:/home/andreas/MailBackup
doveadm(info@xxx.com): Error: userdb lookup: connect(/var/run/dovecot/auth-userdb) failed: Permission denied (euid=1001(andreas) egid=1001(andreas) missing +r perm: /var/run/dovecot/auth-userdb, dir owned by 0:0 mode=0755)
doveadm(info@xxx.com): Fatal: User lookup failed: Internal error occurred. Refer to server log for more information.
# doveadm backup -f -u info@xxx.com maildir:/home/andreas/MailBackup
dsync(info@xxx.com): Error: mkdir(/home/andreas/MailBackup/cur) failed: Permission denied (euid=89(vpopmail) egid=89(vchkpw) missing +w perm: /home/andreas/MailBackup, dir owned by 1001:1001 mode=0755)
dsync(info@xxx.com): Error: open(/home/andreas/MailBackup/maildirfolder, O_CREAT) failed: Permission denied
dsync(info@xxx.com): Error: mkdir(/home/andreas/MailBackup/cur) failed: Permission denied (euid=89(vpopmail) egid=89(vchkpw) missing +w perm: /home/andreas/MailBackup, dir owned by 1001:1001 mode=0755)
dsync(info@xxx.com): Error: Can't create mailbox INBOX: Internal error occurred. Refer to server log for more information. [2022-09-10 15:02:59]
# chown vpopmail:vchkpw /home/andreas/MailBackup
# doveadm backup -f -u info@xxx.com maildir:/home/andreas/MailBackup
# ls -la /home/andreas/MailBackup
drwxr-xr-x 5 vpopmail vchkpw 512 Sep 10 15:14 .Trash
drwxr-xr-x 2 vpopmail vchkpw 512 Sep 10 15:14 cur
-rw-r--r-- 1 vpopmail vchkpw 536 Sep 10 15:14 dovecot-uidlist
-rw-r--r-- 1 vpopmail vchkpw 8 Sep 10 15:14 dovecot-uidvalidity
-r--r--r-- 1 vpopmail vchkpw 0 Sep 10 15:14 dovecot-uidvalidity.631c8dab
-rw-r--r-- 1 vpopmail vchkpw 3524 Sep 10 15:14 dovecot.index.cache
-rw-r--r-- 1 vpopmail vchkpw 740 Sep 10 15:14 dovecot.index.log
-rw-r--r-- 1 vpopmail vchkpw 24 Sep 10 15:14 dovecot.mailbox.log
-rw-r--r-- 1 vpopmail vchkpw 0 Sep 10 15:14 maildirfolder
drwxr-xr-x 2 vpopmail vchkpw 512 Sep 10 15:14 new
-rw-r--r-- 1 vpopmail vchkpw 6 Sep 10 15:14 subscriptions
drwxr-xr-x 2 vpopmail vchkpw 512 Sep 10 15:14 tmp
# doveadm backup -f -u info@styleesh.com mdbox:/home/andreas/MailBackup
dsync(info@styleesh.com): Error: Mail locations must use the same virtual mailbox hierarchy separator (specify separator for the default namespace)
# doveadm backup -f -u info@styleesh.com -o mail_location=mdbox:/home/andreas/MailBackup/mdbox maildir:/home/andreas/MailBackup/maildir
doveadm: illegal option -- o
doveadm backup [-u <user>|-A] [-S <socket_path>] [-fPRU] [-l <secs>] [-r <rawlog path>] [-m <mailbox>] [-g <mailbox_guid>] [-n <namespace> | -N] [-x <exclude>] [-s <state>] -d|<dest>
# doveadm -D -o mail_location=mdbox:/home/andreas/MailBackup/mdbox backup -fR -u info@xxx.com maildir:/home/andreas/MailBackup/maildir
Debug: Loading modules from directory: /usr/local/lib/dovecot/doveadm
Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: /usr/local/lib/dovecot/doveadm/lib10_doveadm_acl_plugin.so: Undefined symbol "acl_user_module" (this is usually intentional, so just ignore this message)
Debug: Skipping module doveadm_expire_plugin, because dlopen() failed: /usr/local/lib/dovecot/doveadm/lib10_doveadm_expire_plugin.so: Undefined symbol "expire_set_lookup" (this is usually intentional, so just ignore this message)
Debug: Skipping module doveadm_quota_plugin, because dlopen() failed: /usr/local/lib/dovecot/doveadm/lib10_doveadm_quota_plugin.so: Undefined symbol "quota_user_module" (this is usually intentional, so just ignore this message)
Debug: Module loaded: /usr/local/lib/dovecot/doveadm/lib10_doveadm_sieve_plugin.so
Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: /usr/local/lib/dovecot/doveadm/lib20_doveadm_fts_plugin.so: Undefined symbol "fts_list_backend" (this is usually intentional, so just ignore this message)
doveadm(info@xxx.com): Debug: Effective uid=89, gid=89, home=/usr/local/vpopmail/domains/xxx.com/info
doveadm(info@xxx.com): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=mdbox:/home/andreas/MailBackup/mdbox
doveadm(info@xxx.com): Debug: fs: root=/home/andreas/MailBackup/mdbox, index=, indexpvt=, control=, inbox=, alt=
doveadm(info@xxx.com): Debug: Namespace : Using permissions from /home/andreas/MailBackup/mdbox: mode=0755 gid=default
dsync(info@xxx.com): Debug: Effective uid=89, gid=89, home=/usr/local/vpopmail/domains/xxx.com/info
dsync(info@xxx.com): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/home/andreas/MailBackup/maildir
dsync(info@xxx.com): Debug: maildir++: root=/home/andreas/MailBackup/maildir, index=, indexpvt=, control=, inbox=/home/andreas/MailBackup/maildir, alt=
dsync(info@xxx.com): Error: Mail locations must use the same virtual mailbox hierarchy separator (specify separator for the default namespace)
doveadm(info@styleesh.com): Error: User initialization failed: namespace configuration error: list=yes requires prefix=backup to end with separator
doveadm(info@styleesh.com): Fatal: User init failed
doveadm(info@styleesh.com): Error: User initialization failed: namespace configuration error: All list=yes namespaces must use the same separator
doveadm(info@styleesh.com): Fatal: User init failed
# doveadm backup -f -u abc@xyz.ch mdbox:/home/andreas/dovecot_backup/xyz.ch/abc
/usr: write failed, filesystem is full
dsync(abc@xyz.ch): Error: write(/home/andreas/dovecot_backup/xyz.ch/abc/storage/.temp.1670767993.P88286Q1689M398392.ns2.xyz.ch) failed: No space left on device
dsync(abc@xyz.ch): Error: write(/home/andreas/dovecot_backup/xyz.ch/abc/storage/.temp.1670767993.P88286Q1689M398392.ns2.xyz.ch) failed: No space left on device
dsync(abc@xyz.ch): Error: write() failed for file /home/andreas/dovecot_backup/xyz.ch/abc/storage/.temp.1670767993.P88286Q1689M398392.ns2.xyz.ch: No space left on device
/usr: write failed, filesystem is full
dsync(abc@xyz.ch): Error: write(/home/andreas/dovecot_backup/xyz.ch/abc/storage/.temp.1670767993.P88286Q1690M398392.ns2.xyz.ch) failed: No space left on device
dsync(abc@xyz.ch): Error: Mailbox Trash: Saving failed: Internal error occurred. Refer to server log for more information. [2022-12-11 15:13:13]
dsync(abc@xyz.ch): Error: write(/home/andreas/dovecot_backup/xyz.ch/abc/storage/.temp.1670767993.P88286Q1690M398392.ns2.xyz.ch) failed: No space left on device
/usr: write failed, filesystem is full
/usr: write failed, filesystem is full
dsync(abc@xyz.ch): Error: write() failed for file /home/andreas/dovecot_backup/xyz.ch/abc/storage/.temp.1670767993.P88286Q1689M398392.ns2.xyz.ch: No space left on device
dsync(abc@xyz.ch): Error: Mailbox Trash: Save commit failed: Internal error occurred. Refer to server log for more information. [2022-12-11 15:13:13]
cyon
E-Mail-Konten von einem anderen Dienst zu cyon transferieren