Dovecot migration via dsync : mail_location problem (INBOX) ?
Cédric ML
cedric.bassaget.ml at gmail.com
Wed Dec 7 10:22:00 UTC 2016
Hello,
I'm trying to migrate mail accounts from an old dovecot 1.0.15 to a new
dovecot 2.2.26.
I've set up a master-user on old dovecot, and I run dsync on new server,
like this :
# doveadm -D -o mail_fsync=never sync -R -u user at domain.tld imapc:
my user at domain.tld looks like this (on the new server):
# doveadm user user at domain.tld
field value
uid 2000
gid 2000
home /home/vmail/domain.tld/user
mail maildir:/home/vmail/domain.tld/user/mail
quota_rule *:bytes=0
User mail folder on the old server looks like this :
# ls -la /home/virtual/user at domain.tld/
total 64
drwx------ 11 vmail vmail 4096 2016-12-06 16:26 ./
drwxrwx--- 234 vmail vmail 12288 2016-12-05 12:57 ../
drwx------ 2 vmail vmail 89 2016-12-06 15:29 cur/
-rw------- 1 vmail vmail 352 2016-12-06 16:26 dovecot.index
-rw------- 1 vmail vmail 19456 2016-12-06 16:26 dovecot.index.cache
-rw------- 1 vmail vmail 2220 2016-12-06 16:26 dovecot.index.log
-rw------- 1 vmail vmail 10 2016-12-06 15:14 dovecot-keywords
-rw------- 1 vmail vmail 170 2016-12-06 16:21 dovecot-uidlist
drwx------ 5 vmail vmail 148 2016-12-05 16:52 .Drafts/
drwx------ 5 vmail vmail 148 2016-12-05 16:52 .FauxIndesirable/
drwx------ 5 vmail vmail 148 2016-12-05 16:52 .Indesirable/
-rw-r----- 1 vmail vmail 293 2016-12-06 15:29 maildirsize
drwx------ 2 vmail vmail 85 2016-12-06 15:29 new/
drwx------ 5 vmail vmail 148 2016-12-05 16:52 .Sent/
drwx------ 5 vmail vmail 148 2016-12-05 16:52 .Spam/
drwx------ 2 vmail vmail 6 2016-12-07 10:46 tmp/
drwx------ 5 vmail vmail 4096 2016-12-06 15:36 .Trash/
When I run the sync, with "doveadm -D -o mail_fsync=never sync -R -u
user at domain.tld imapc:" on the new server, the new server synchronises
the mail from the new server, and the file system on the new server
looks like this :
root at dovecot-pa3:/home/vmail/domain.tld# ls -la
/home/vmail/domain.tld/user/mail/
total 84
drwx------ 15 mailbox mailbox 4096 Dec 7 11:02 .
drwx------ 3 mailbox mailbox 4096 Dec 7 11:02 ..
drwx------ 2 mailbox mailbox 4096 Dec 7 11:02 cur
-rw------- 1 mailbox mailbox 556 Dec 7 11:02 dovecot.index.log
-rw------- 1 mailbox mailbox 96 Dec 7 11:02 dovecot.mailbox.log
-rw------- 1 mailbox mailbox 51 Dec 7 11:02 dovecot-uidlist
-rw------- 1 mailbox mailbox 8 Dec 7 11:02 dovecot-uidvalidity
-r--r--r-- 1 mailbox mailbox 0 Dec 7 11:02 dovecot-uidvalidity.5847de3b
drwx------ 5 mailbox mailbox 4096 Dec 7 11:02 .Drafts
drwx------ 5 mailbox mailbox 4096 Dec 7 11:02 .INBOX.Drafts
drwx------ 5 mailbox mailbox 4096 Dec 7 11:02 .INBOX.FauxIndesirable
drwx------ 5 mailbox mailbox 4096 Dec 7 11:02 .INBOX.Indesirable
drwx------ 5 mailbox mailbox 4096 Dec 7 11:02 .INBOX.Sent
drwx------ 5 mailbox mailbox 4096 Dec 7 11:02 .INBOX.Spam
drwx------ 5 mailbox mailbox 4096 Dec 7 11:02 .INBOX.Trash
drwx------ 5 mailbox mailbox 4096 Dec 7 11:02 .Junk
-rw------- 1 mailbox mailbox 17 Dec 7 11:02 maildirsize
drwx------ 2 mailbox mailbox 4096 Dec 7 11:02 new
drwx------ 5 mailbox mailbox 4096 Dec 7 11:02 .Sent
-rw------- 1 mailbox mailbox 23 Dec 7 11:02 subscriptions
drwx------ 2 mailbox mailbox 4096 Dec 7 11:02 tmp
drwx------ 5 mailbox mailbox 4096 Dec 7 11:02 .Trash
But dovecot is condigured to have ".Trash", ".Junk" etc... folders, not
".INBOX.Trash"
I've try multiple things :
- use namespaces for compatibility and add "-n <namespace>" in sync
command, without success
- modify the mail_location for the user, tried to add LAYOUT=fs,
INBOX=<folder>, ... without success.
Can anybody help me with that please ?
Here's the #doveconf -n output :
-------------------------------------------------------
# 2.2.devel (f7f4b65): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.devel (53a3582)
# OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.6
auth_mechanisms = plain login
doveadm_password = # hidden, use -P to show it
doveadm_port = 12345
imapc_features = rfc822.size fetch-headers
imapc_host = oldserver.domain.tld
imapc_master_user = masteruser
imapc_password = # hidden, use -P to show it
imapc_user = %u
mail_plugins = " quota notify replication"
mail_prefetch_count = 20
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope
encoded-character vacation subaddress comparator-i;ascii-numeric
relational regex imap4flags copy include variables body enotify
environment mailbox date index ihave duplicate mime foreverypart extracttext
mbox_write_locks = fcntl dotlock
namespace compat {
hidden = no
list = no
location = maildir:~/mail/
prefix = INBOX
separator = /
}
namespace inbox {
hidden = no
inbox = yes
list = yes
location =
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Junk {
auto = subscribe
special_use = \Junk
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
prefix =
separator = /
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
mail_replica = tcp:192.168.159.9:12345
quota = maildir:User quota
quota_grace = 10%%
quota_rule = Trash:storage=+100M
quota_status_nouser = DUNNO
quota_status_overquota = 552 5.2.2 Boite de messagerie pleine.
quota_status_success = DUNNO
quota_warning = storage=95%% quota-warning 95 %u
quota_warning2 = storage=85%% quota-warning 85 %u
sieve = file:~/sieve;active=~/.dovecot.sieve
sieve_before = /var/lib/dovecot/sieve/
sieve_before2 = /home/vmail/%d/%n/sieve/Vacation.sieve
sieve_default = /var/lib/dovecot/sieve/dovecot.sieve
sieve_default_name = default
sieve_global = /var/lib/dovecot/sieve/
}
protocols = " imap sieve pop3 sieve"
service aggregator {
fifo_listener replication-notify-fifo {
mode = 0666
user = mailbox
}
unix_listener replication-notify {
mode = 0666
user = mailbox
}
}
service auth {
inet_listener {
port = 12346
}
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-userdb {
group = mailbox
user = mailbox
}
}
service config {
unix_listener config {
user = mailbox
}
}
service doveadm {
inet_listener {
port = 12345
}
user = mailbox
}
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
}
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
process_min_avail = 1
service_count = 1
vsz_limit = 64 M
}
service quota-warning {
executable = script /usr/local/bin/quota-warning.sh
unix_listener quota-warning {
user = mailbox
}
user = mailbox
}
service replicator {
process_min_avail = 1
unix_listener replicator-doveadm {
group = mailbox
mode = 0660
}
}
ssl = required
ssl_cert = </etc/ssl/certs/crt-and-intermediate.pem
ssl_key = # hidden, use -P to show it
userdb {
driver = prefetch
}
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol lmtp {
postmaster_address = postmaster at domain.tld
}
protocol lda {
mail_plugins = " quota notify replication sieve"
postmaster_address = postmaster at domain.tld
}
protocol imap {
mail_plugins = " quota notify replication imap_quota"
}
-------------------------------------------------------
Best regards,
Cédric
More information about the dovecot
mailing list