Dovecot : проблема с преобразованием mdbox в MailDir

У меня проблема с преобразованием mdbox в MailDir. Журнал этого процесса выглядит так:

/bin/dsync -Dv -u user@domian.com mirror maildir:/tmp/destination/mailboxes/user@domian.com



Debug: Loading modules from directory: /lib/dovecot
Debug: Module loaded: /lib/dovecot/lib01_acl_plugin.so
Debug: Loading modules from directory: /lib/dovecot/doveadm
Debug: Module loaded: /lib/dovecot/doveadm/lib10_doveadm_acl_plugin.so
Debug: Skipping module doveadm_expire_plugin, because dlopen() failed: /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: /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: /lib/dovecot/doveadm/lib10_doveadm_sieve_plugin.so
Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: /lib/dovecot/doveadm/lib20_doveadm_fts_plugin.so: undefined symbol: fts_list_backend (this is usually intentional, so just ignore this message)
doveadm(user@domian.com): Debug: Effective uid=503, gid=503, home=/var/mailboxes/%2Mu/%2.2Mu/%u
doveadm(user@domian.com): Debug: Home dir not found: /var/mailboxes/%2Mu/%2.2Mu/%u
doveadm(user@domian.com): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=mdbox:/var/mailboxes/64/b1/user@domian.com
doveadm(user@domian.com): Debug: fs: root=/var/mailboxes/64/b1/user@domian.com, index=, indexpvt=, control=, inbox=, alt=
doveadm(user@domian.com): Debug: acl: initializing backend with data: vfile
doveadm(user@domian.com): Debug: acl: acl username = user@domian.com
doveadm(user@domian.com): Debug: acl: owner = 1
doveadm(user@domian.com): Debug: acl vfile: Global ACLs disabled
doveadm(user@domian.com): Debug: Namespace : type=shared, prefix=shared/%u/, sep=/, inbox=no, hidden=no, list=children, subscriptions=yes location=mdbox:/var/mailboxes/%2Mu/%2.2Mu/%u
doveadm(user@domian.com): Debug: shared: root=/var/run/dovecot, index=, indexpvt=, control=, inbox=, alt=
doveadm(user@domian.com): Debug: acl: initializing backend with data: vfile
doveadm(user@domian.com): Debug: acl: acl username = user@domian.com
doveadm(user@domian.com): Debug: acl: owner = 0
doveadm(user@domian.com): Debug: acl vfile: Global ACLs disabled
doveadm(user@domian.com): Debug: acl vfile: file /var/mailboxes/64/b1/user@domian.com/mailboxes/INBOX/dbox-Mails/dovecot-acl not found
doveadm(user@domian.com): Debug: acl vfile: file /var/mailboxes/64/b1/user@domian.com/mailboxes/Drafts/dbox-Mails/dovecot-acl not found
doveadm(user@domian.com): Debug: acl vfile: file /var/mailboxes/64/b1/user@domian.com/mailboxes/Sent/dbox-Mails/dovecot-acl not found
doveadm(user@domian.com): Debug: acl vfile: file /var/mailboxes/64/b1/user@domian.com/mailboxes/Trash/dbox-Mails/dovecot-acl not found
doveadm(user@domian.com): Debug: Namespace : Using permissions from /var/mailboxes/64/b1/user@domian.com: mode=0700 gid=default
dsync(user@domian.com): Debug: Effective uid=503, gid=503, home=/var/mailboxes/%2Mu/%2.2Mu/%u
dsync(user@domian.com): Debug: Home dir not found: /var/mailboxes/%2Mu/%2.2Mu/%u
dsync(user@domian.com): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/tmp/destination/mailboxes/user@domian.com
dsync(user@domian.com): Debug: maildir++: root=/tmp/destination/mailboxes/user@domian.com, index=, indexpvt=, control=, inbox=/tmp/destination/mailboxes/user@domian.com, alt=
dsync(user@domian.com): Debug: Namespace : /tmp/destination/mailboxes/user@domian.com doesn't exist yet, using default permissions
dsync(user@domian.com): Debug: Namespace : Using permissions from /tmp/destination/mailboxes/user@domian.com: mode=0700 gid=default
dsync(user@domian.com): Debug: acl: initializing backend with data: vfile
dsync(user@domian.com): Debug: acl: acl username = user@domian.com
dsync(user@domian.com): Debug: acl: owner = 1
dsync(user@domian.com): Debug: acl vfile: Global ACLs disabled
dsync(user@domian.com): Debug: Namespace : type=shared, prefix=shared/%u/, sep=/, inbox=no, hidden=no, list=children, subscriptions=yes location=mdbox:/var/mailboxes/%2Mu/%2.2Mu/%u
dsync(user@domian.com): Debug: shared: root=/var/run/dovecot, index=, indexpvt=, control=, inbox=, alt=
dsync(user@domian.com): Debug: acl: initializing backend with data: vfile
dsync(user@domian.com): Debug: acl: acl username = user@domian.com
dsync(user@domian.com): Debug: acl: owner = 0
dsync(user@domian.com): Debug: acl vfile: Global ACLs disabled
dsync(user@domian.com): Error: User initialization failed: namespace configuration error: All list=yes namespaces must use the same separator

, но когда я указываю пространство имен для папки «Входящие», например

/bin/dsync -Dv -u user@domian.com mirror maildir:/tmp/destination/mailboxes/user@domian.com -n inbox

, возникает другая ошибка:

doveadm(user@domian.com): Debug: Namespace : Using permissions from /var/mailboxes/64/b1/user@domian.com: mode=0700 gid=default
doveadm(user@domian.com): Fatal: execvp(maildir:/tmp/destination/mailboxes/user@domian.com) failed: No such file or directory
dsync-local(user@domian.com): Error: read(remote) failed: EOF (version not received

когда существует (скрытый) каталог

и / bin / doveconf namespace равно

namespace {
  disabled = no
  hidden = no
  ignore_on_failure = no
  inbox = no
  list = children
  location = mdbox:/var/mailboxes/%%2Mu/%%2.2Mu/%%u
  order = 0
  prefix = shared/%%u/
  separator = /
  subscriptions = yes
  type = shared
}
namespace inbox {
  disabled = no
  hidden = no
  ignore_on_failure = no
  inbox = yes
  list = yes
  location =
  mailbox Drafts {
    auto = subscribe
    driver =
    special_use = \Drafts
  }
  mailbox INBOX {
    auto = subscribe
    driver =
    special_use =
  }
  mailbox Junk {
    auto = no
    driver =
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    driver =
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    auto = no
    driver =
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    driver =
    special_use = \Trash
  }
  order = 0
  prefix =
  separator =
  subscriptions = yes
  type = private
}

Что я делаю неправильно в процессе?

0
задан 3 October 2019 в 00:06
1 ответ

В моем случае решение заключалось в добавлении

separator = /

в пространство имен inbox . По какой-то причине по умолчанию не использовался внутренний разделитель формата почтового ящика.

0
ответ дан 5 December 2019 в 00:29

Теги

Похожие вопросы