Estou tentando migrar mdbox para maildir com base em https://wiki.dovecot.org/Migration/MailFormat
Eu modifiquei dovecot.conf e configureimail_location=maildir:/tmp/destination/mailboxes/
Então eu tinha corrido
/mnt/testmail/bin/dsync -Dv -u [email protected] mirror mdbox:/source/mailboxes/[email protected]
mas isso não fez nada. Então eu modifiquei dovecot.conf e configureimail_location=mdbox:/source/mailboxes
Então eu tinha corrido
/mnt/testmail/bin/dsync -Dv -u [email protected] mirror mdbox:/tmp/destination/mailboxes/[email protected]
que copiou na caixa de correio [email protected] da origem para o local de destino. Como isso estava funcionando, tentei executar
/mnt/testmail/bin/dsync -Dv -u [email protected] mirror maildir:/tmp/destination/mailboxes/[email protected]
mas isso deu um erro:
dsync([email protected]): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/mnt/testmail/mailboxes dsync ([email protected]): Erro: Falha na inicialização do usuário: Namespace '': driver de armazenamento de email desconhecido maildir
O primeiro problema é que, com base no exemplo nº 2 acima, a sintaxe fornecida em https://wiki.dovecot.org/Migration/MailFormat está incorreta ou, por algum motivo, não está funcionando para mim como deveria, no exemplo nº 1.
A segunda questão é não reconhecer o formato maildir – e quanto a isso? Docecot tem algumas bibliotecas ausentes?
Dovecot versão 2.2.18 e configuração se parece com:
# 2.2.18: /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.8
# OS: Linux 2.6.32-754.14.2.el6.x86_64 x86_64 CentOS release 6.10 (Final) xfs
auth_master_user_separator = *
auth_mechanisms = plain login
dict {
acl = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
disable_plaintext_auth = no
lda_mailbox_autosubscribe = yes
log_path = /var/log/dovecot.log
mail_home = mdbox:/var/homedirs/%2Mu/%2.2Mu/%u
mail_location = mdbox:/var/mailboxes/%2Mu/%2.2Mu/%u
mail_plugins = acl
mail_shared_explicit_inbox = yes
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 vnd.dovecot.pipe vnd.dovecot.filter vnd.dovecot.execute
namespace {
list = children
location = mdbox:/var/mailboxes/%%2Mu/%%2.2Mu/%%u
prefix = shared/%%u/
separator = /
subscriptions = yes
type = shared
}
namespace inbox {
inbox = yes
location =
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox INBOX {
auto = subscribe
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
prefix =
subscriptions = yes
}
passdb {
args = /etc/dovecot/mastership-sql.conf
driver = sql
master = yes
pass = yes
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
acl = vfile
acl_defaults_from_inbox = yes
acl_shared_dict = proxy::acl
sieve_after = /etc/dovecot/sieve/99-file-qvera-ccda.sieve
sieve_after2 = /etc/dovecot/sieve/98-notify-biz-address.sieve
sieve_after3 = /etc/dovecot/sieve/97-mdn-processed.sieve
sieve_execute_bin_dir = /etc/dovecot/sieve-execute
sieve_execute_socket_dir = sieve-execute
sieve_extensions = +vnd.dovecot.execute +vnd.dovecot.filter +vnd.dovecot.pipe
sieve_filter_bin_dir = /etc/dovecot/sieve-filter
sieve_filter_socket_dir = sieve-filter
sieve_pipe_bin_dir = /etc/dovecot/sieve-pipe
sieve_pipe_socket_dir = sieve-pipe
sieve_plugins = sieve_extprograms
}
postmaster_address = [email protected]
sendmail_path = /sbin/sendmail
service dict {
unix_listener dict {
user = dovecot
}
}
service imap-postlogin {
executable = script-login /etc/dovecot/imappostlogin
user = $default_internal_user
}
service imap {
executable = imap imap-postlogin
}
ssl = no
userdb {
args = uid=dovecot gid=dovecot home=/var/mailboxes/%%2Mu/%%2.2Mu/%%u
driver = static
}
protocol lmtp {
mail_plugins = acl sieve
}
protocol lda {
mail_plugins = acl sieve
}
protocol imap {
mail_plugins = acl imap_acl
}
Altamente possível, foi a compilação personalizada.
Eu vim que eu preciso recompilar o Dovecot com
--with-storages=mdbox,imapc,sdbox,maildir,mbox
faça a configuração para ter o formato de armazenamento de e-mail ausente