[Dovecot] dsync migration with preserving pop3 uidl
Tomáš Herceg
tomas.herceg at stable.cz
Thu May 24 13:17:00 EEST 2012
Hi all,
I'm trying to migrate messages from icewarp (merak) mailserver to dovecot via
dsync, IMAP migration is looking fine, but I'm unable to migrate pop3 uidls from
originating server, probably is something wrong with configuration, but I don't
know what. The only documentation i found is on the wiki:
http://wiki2.dovecot.org/Migration/Dsync where is bad writen mail_plugins =
pop3-migration, i corrected it to mail_plugins = pop3_migration, but it still
didn't work, here is my configuration:
dovecot --version
2.1.5
dovecot -n
# 2.1.5: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-220.13.1.el6.centos.plus.x86_64 x86_64 CentOS release 6.2 (Final)
auth_mechanisms = PLAIN LOGIN
dict {
acl = mysql:/etc/dovecot/dovecot-share-folder.conf
expire = db:/var/lib/dovecot/expire/expire.db
quotadict = mysql:/etc/dovecot/dovecot-used-quota.conf
}
disable_plaintext_auth = no
imapc_features = rfc822.size
imapc_host = **originating_server**
last_valid_uid = 500
listen = *
log_path = /var/log/dovecot.log
mail_fsync = never
mail_gid = 500
mail_location = maildir:/%Lh/Maildir/:INDEX=/%Lh/Maildir/
mail_uid = 500
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 ma
ilbox date ihave
namespace {
inbox = yes
location =
prefix =
separator = /
type = private
}
namespace {
list = children
location = maildir:/%%Lh/Maildir/:INDEX=/%%Lh/Maildir/Shared/%%u
prefix = Shared/%%u/
separator = /
subscriptions = yes
type = shared
}
namespace {
hidden = yes
list = yes
location = pop3c:
prefix = POP3/
}
passdb {
args = /etc/dovecot/dovecot-mysql.conf
driver = sql
}
plugin {
acl = vfile
acl_shared_dict = proxy::acl
auth_socket_path = /var/run/dovecot/auth-master
autocreate = INBOX
autocreate2 = Sent
autocreate3 = Trash
autocreate4 = Drafts
autocreate5 = Spam
autosubscribe = INBOX
autosubscribe2 = Sent
autosubscribe3 = Trash
autosubscribe4 = Drafts
autosubscribe5 = Spam
expire = Trash 7 Trash/* 7 Spam 30
expire_dict = proxy::expire
pop3_migration_mailbox = POP3/INBOX
quota = dict:user::proxy::quotadict
quota_rule = *:storage=1G
quota_warning = storage=85%% quota-warning 85 %u
quota_warning2 = storage=90%% quota-warning 90 %u
quota_warning3 = storage=95%% quota-warning 95 %u
sieve = /%Lh/sieve/dovecot.sieve
sieve_dir = /%Lh/sieve
sieve_global_dir = /home/mail/sieve
sieve_global_path = /home/mail/sieve/dovecot.sieve
zlib_save = bz2
zlib_save_level = 9
}
pop3c_host = **originating_server**
protocols = pop3 imap sieve
service auth {
unix_listener /var/spool/postfix/dovecot-auth {
group = postfix
mode = 0666
user = postfix
}
unix_listener auth-master {
group = vmail
mode = 0666
user = vmail
}
}
service dict {
unix_listener dict {
group = vmail
mode = 0660
user = vmail
}
}
service quota-warning {
executable = script /usr/local/bin/dovecot-quota-warning.sh
unix_listener quota-warning {
group = vmail
mode = 0660
user = vmail
}
}
ssl_cert = </etc/pki/tls/certs/iRedMail_CA.pem
ssl_key = </etc/pki/tls/private/iRedMail.key
userdb {
args = /etc/dovecot/dovecot-mysql.conf
driver = sql
}
protocol lda {
auth_socket_path = /var/run/dovecot/auth-master
lda_mailbox_autocreate = yes
log_path = /var/log/sieve.log
mail_plugins = quota sieve autocreate zlib
postmaster_address = root
}
protocol imap {
imap_client_workarounds = tb-extra-mailbox-sep
mail_plugins = quota imap_quota autocreate zlib
}
protocol pop3 {
mail_plugins = quota zlib
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
protocol doveadm {
mail_plugins = pop3_migration
}
I'm runnig dsync this way:
/usr/bin/time -f "%E" doveadm -vD -o imapc_user=test1 at irock.cz -o
imapc_password=***** backup -u test1 at irock.cz -f -R imapc:/tmp-ram/imapc-test1
doveadm(root): Debug: Loading modules from directory: /usr/lib64/dovecot/doveadm
doveadm(root): Debug: Skipping module doveadm_acl_plugin, because dlopen()
failed: /usr/lib64/dovecot/doveadm/lib10_doveadm_acl_plugin.so: undefined
symbol: acl_user_module (this is usually intention
al, so just ignore this message)
doveadm(root): Debug: Skipping module doveadm_expire_plugin, because dlopen()
failed: /usr/lib64/dovecot/doveadm/lib10_doveadm_expire_plugin.so: undefined
symbol: expire_set_lookup (this is usually i
ntentional, so just ignore this message)
doveadm(root): Debug: Skipping module doveadm_quota_plugin, because dlopen()
failed: /usr/lib64/dovecot/doveadm/lib10_doveadm_quota_plugin.so: undefined
symbol: quota_user_module (this is usually int
entional, so just ignore this message)
doveadm(root): Debug: Skipping module doveadm_zlib_plugin, because dlopen()
failed: /usr/lib64/dovecot/doveadm/lib10_doveadm_zlib_plugin.so: undefined
symbol: i_stream_create_deflate (this is usually intentional, so just ignore
this message)
doveadm(root): Debug: Skipping module doveadm_fts_lucene_plugin, because
dlopen() failed: /usr/lib64/dovecot/doveadm/lib20_doveadm_fts_lucene_plugin.so:
undefined symbol: lucene_index_deinit (this is usually intentional, so just
ignore this message)
doveadm(root): Debug: Skipping module doveadm_fts_plugin, because dlopen()
failed: /usr/lib64/dovecot/doveadm/lib20_doveadm_fts_plugin.so: undefined
symbol: fts_list_backend (this is usually intentional, so just ignore this message)
doveadm(test1 at irock.cz): Debug: Added userdb setting:
plugin/quota_rule=*:bytes=20971520000
doveadm(test1 at irock.cz): Debug: Effective uid=500, gid=500,
home=/home/mail/i/irock.cz/test1/
doveadm(test1 at irock.cz): Debug: Namespace : type=private, prefix=, sep=/,
inbox=yes, hidden=no, list=yes, subscriptions=yes
location=maildir://home/mail/i/irock.cz/test1//Maildir/:INDEX=//home/mail/i/irock.cz/test1//Maildir/
doveadm(test1 at irock.cz): Debug: maildir++:
root=//home/mail/i/irock.cz/test1//Maildir, index=, control=,
inbox=//home/mail/i/irock.cz/test1//Maildir, alt=
doveadm(test1 at irock.cz): Debug: Namespace : type=shared, prefix=Shared/%u/,
sep=/, inbox=no, hidden=no, list=children, subscriptions=yes
location=maildir:/%Lh/Maildir/:INDEX=/%Lh/Maildir/Shared/%u
doveadm(test1 at irock.cz): Debug: shared: root=/var/run/dovecot, index=, control=,
inbox=, alt=
doveadm(test1 at irock.cz): Debug: Namespace : type=private, prefix=POP3/, sep=,
inbox=no, hidden=yes, list=yes, subscriptions=yes location=pop3c:
doveadm(test1 at irock.cz): Debug: fs: root=, index=, control=, inbox=, alt=
dsync(test1 at irock.cz): Debug: Effective uid=500, gid=500,
home=/home/mail/i/irock.cz/test1/
dsync(test1 at irock.cz): Debug: Namespace : type=private, prefix=, sep=/,
inbox=yes, hidden=no, list=yes, subscriptions=yes
location=imapc:/tmp-ram/imapc-test1
dsync(test1 at irock.cz): Debug: imapc: root=/tmp-ram/imapc-test1, index=,
control=, inbox=, alt=
dsync(test1 at irock.cz): Debug: maildir++: root=/tmp-ram/imapc-test1, index=,
control=, inbox=, alt=
dsync(test1 at irock.cz): Debug: imapc(**originating_server**:143): Looking up IP
address
dsync(test1 at irock.cz): Debug: imapc(**originating_server**:143): Connecting to
95.168.205.4:143
dsync(test1 at irock.cz): Debug: imapc(**originating_server**:143): Server
capabilities: IMAP4rev1 AUTH=PLAIN AUTH=LOGIN AUTH=DIGEST-MD5 AUTH=CRAM-MD5
AUTH=NTLM AUTH=GSSAPI SORT THREAD=ORDEREDSUBJECT UIDPLUS QUOTA ACL NAMESPACE
CHILDREN IDLE ID UNSELECT METADATA X-ICEWARP-SERVER X-MOVE MSEARCH XLIST
CREATE-SPECIAL-USE STARTTLS
dsync(test1 at irock.cz): Debug: imapc(**originating_server**:143): Authenticating
as test1 at irock.cz
dsync(test1 at irock.cz): Debug: imapc(**originating_server**:143): Authenticated
successfully
dsync(test1 at irock.cz): Debug: Namespace : type=shared, prefix=Shared/%u/, sep=/,
inbox=no, hidden=no, list=children, subscriptions=yes
location=maildir:/%Lh/Maildir/:INDEX=/%Lh/Maildir/Shared/%u
dsync(test1 at irock.cz): Debug: shared: root=/var/run/dovecot, index=, control=,
inbox=, alt=
dsync(test1 at irock.cz): Debug: Namespace : type=private, prefix=POP3/, sep=,
inbox=no, hidden=yes, list=yes, subscriptions=yes location=pop3c:
dsync(test1 at irock.cz): Debug: fs: root=, index=, control=, inbox=, alt=
dsync(test1 at irock.cz): Debug: Namespace : Using permissions from
/tmp-ram/imapc-test1: mode=0700 gid=-1
dsync(test1 at irock.cz): Debug: Namespace : Using permissions from
//home/mail/i/irock.cz/test1//Maildir: mode=0700 gid=-1
dsync(test1 at irock.cz): Error: stat((null)) failed: Bad address
dsync(test1 at irock.cz): Error: stat((null)) failed: Bad address
dsync(test1 at irock.cz): Debug: imapc(**originating_server**:143): Looking up IP
address
dsync(test1 at irock.cz): Debug: imapc(**originating_server**:143): Connecting to
95.168.205.4:143
dsync(test1 at irock.cz): Debug: imapc(**originating_server**:143): Server
capabilities: IMAP4rev1 AUTH=PLAIN AUTH=LOGIN AUTH=DIGEST-MD5 AUTH=CRAM-MD5
AUTH=NTLM AUTH=GSSAPI SORT THREAD=ORDEREDSUBJECT UIDPLUS QUOTA ACL NAMESPACE
CHILDREN IDLE ID UNSELECT METADATA X-ICEWARP-SERVER X-MOVE MSEARCH XLIST
CREATE-SPECIAL-USE STARTTLS
dsync(test1 at irock.cz): Debug: imapc(**originating_server**:143): Authenticating
as test1 at irock.cz
dsync(test1 at irock.cz): Debug: imapc(**originating_server**:143): Authenticated
successfully
dsync(test1 at irock.cz): Debug: imapc(**originating_server**:143): Disconnected
dsync(test1 at irock.cz): Debug: imapc(**originating_server**:143): Disconnected
0:00.52
can somebody give me a hint how to use the pop3 migration plugin please?
--
Best regards
Tomas Herceg
Linux System Administrator
Red Hat Certified Engineer 111-070-975
tomas.herceg at stable.cz
Stable.cz, s.r.o. | www.stable.cz
www.stable.cz | www.kvapem.cz | www.multak.cz | www.otoman.cz
More information about the dovecot
mailing list