Well, judging by the error message it appears like dovecot hasn't been compiled with support for maildir, which is strange because I don't see any way to disable in the compile-time options.
Are you using the precompiled package from the distro or compiling dovecot by yourself? Could you share the output of "dovecot --build-options" and "dovecot --version"?
Thanks!
On 2019-06-21 17:17, Adam Raszkiewicz wrote:
Hi German,
I have tried your way and getting the same error message:
dsync(user@domain.com): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:~/Maildir
dsync(user@domain.com): Error: User initialization failed: Namespace '': Unknown mail storage driver maildir
Thoughts? Missing dovecot library, something in the configuration?
Thanks,
Adam
FROM: dovecot dovecot-bounces@dovecot.org on behalf of Germán Herrera via dovecot dovecot@dovecot.org ORGANIZATION: SES Sistemas Electrónicos S.A. REPLY-TO: Germán Herrera g.herrera@ses.com.ar DATE: Friday, June 21, 2019 at 3:10 PM TO: Adam Raszkiewicz araszkiewicz@medallies.com CC: "dovecot@dovecot.org" dovecot@dovecot.org SUBJECT: Re: Mail migration problem
Hi Adam
Can you try: "doveadm sync -u <user> maildir:~/Maildir"
My mailboxes are in sdbox (I have "mail_location = sdbox:~/sdbox:ALT=/mnt/archive/%u/sdbox") and after running that command I managed to successfully migrate the user mailbox to maildir. Also that is the command I used to migrate all my user's maildirs to sdbox some time ago.
Regards
Germán Herrera Responsable de IT Ingeniería SES Sistemas Electrónicos S.A.| Espinosa 1045 (C1405AMM) | Buenos Aires | Argentina W: +54 11 54530000 | Email: g.herrera@ses.com.ar
Denos su opinión aquí
On 2019-06-21 11:58, Adam Raszkiewicz via dovecot wrote:
I'm trying to migrate mdbox to maildir based on https://wiki.dovecot.org/Migration/MailFormat
- Modified dovecot.conf and set mail_location=maildir:/tmp/destination/mailboxes/
- Then I had run
/mnt/testmail/bin/dsync -Dv -u user@domain.com mirror mdbox:/source/mailboxes/user@domain.com
but that did nothing. Then I have
- Modified dovecot.conf and set mail_location=mdbox:/source/mailboxes
- Then I had run
/mnt/testmail/bin/dsync -Dv -u user@domain.com mirror mdbox:/tmp/destination/mailboxes/user@domain.com
that copied over user@domain.com mailbox from the source to the destination location. As that was working I have tried to run
/mnt/testmail/bin/dsync -Dv -u user@domain.com mirror maildir:/tmp/destination/mailboxes/user@domain.com
but that got an error:
dsync(user@domain.com): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/mnt/testmail/mailboxes
dsync(user@domain.com): Error: User initialization failed: Namespace '': Unknown mail storage driver maildir
First problem is that based on example #2 from above provided syntax in https://wiki.dovecot.org/Migration/MailFormat is incorrect or for some reason is not working for me as it should for example #1.
Second issue is not recognizing maildir format - what about that? Docecot has some missing libraries?
Thanks,
Adam
Yeah, I think dovecot was a custom compiled build
Version is 2.2.18
Config:
# 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 = postmaster@test2.domain.com 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 }
and --build-options:
Build options: ioloop=epoll notify=inotify ipv6 openssl io_block_size=8192 Mail storages: shared mdbox raw fail SQL drivers: mysql Passdb: checkpassword pam passwd passwd-file shadow sql Userdb: checkpassword nss passwd prefetch passwd-file sql
At that point my question is if I can run another dovecot build on the same box? I knew I can run the same instance but as is this a custom build I want to have something generic just to use for migration purposes.
Thanks, Adam
On 6/21/19, 4:45 PM, "dovecot on behalf of Germán Herrera via dovecot"
Well, judging by the error message it appears like dovecot hasn't been
compiled with support for maildir, which is strange because I don't see
any way to disable in the compile-time options.
Are you using the precompiled package from the distro or compiling
dovecot by yourself? Could you share the output of "dovecot
--build-options" and "dovecot --version"?
Thanks!
On 2019-06-21 17:17, Adam Raszkiewicz wrote:
> Hi German,
>
> I have tried your way and getting the same error message:
>
> dsync(user@domain.com): Debug: Namespace inbox: type=private, prefix=,
> sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes
> location=maildir:~/Maildir
>
> dsync(user@domain.com): Error: User initialization failed: Namespace
> '': Unknown mail storage driver maildir
>
> Thoughts? Missing dovecot library, something in the configuration?
>
> Thanks,
>
> Adam
>
> FROM: dovecot <dovecot-bounces@dovecot.org> on behalf of Germán Herrera
> via dovecot <dovecot@dovecot.org>
> ORGANIZATION: SES Sistemas Electrónicos S.A.
> REPLY-TO: Germán Herrera <g.herrera@ses.com.ar>
> DATE: Friday, June 21, 2019 at 3:10 PM
> TO: Adam Raszkiewicz <araszkiewicz@medallies.com>
> CC: "dovecot@dovecot.org" <dovecot@dovecot.org>
> SUBJECT: Re: Mail migration problem
>
> Hi Adam
>
> Can you try: "doveadm sync -u <user> maildir:~/Maildir"
>
> My mailboxes are in sdbox (I have "mail_location =
> sdbox:~/sdbox:ALT=/mnt/archive/%u/sdbox") and after running that
> command I managed to successfully migrate the user mailbox to maildir.
> Also that is the command I used to migrate all my user's maildirs to
> sdbox some time ago.
>
> Regards
>
> ---
>
> Germán Herrera
> Responsable de IT
> Ingeniería
> SES Sistemas Electrónicos S.A.| Espinosa 1045 (C1405AMM) | Buenos Aires
> | Argentina
> W: +54 11 54530000 | Email: g.herrera@ses.com.ar
>
> -------------------------
>
> Denos su opinión aquí
>
> On 2019-06-21 11:58, Adam Raszkiewicz via dovecot wrote:
>
>> I'm trying to migrate mdbox to maildir based on
>> https://wiki.dovecot.org/Migration/MailFormat
>>
>> * Modified dovecot.conf and set
>> mail_location=maildir:/tmp/destination/mailboxes/
>> * Then I had run
>>
>> /mnt/testmail/bin/dsync -Dv -u user@domain.com mirror
>> mdbox:/source/mailboxes/user@domain.com
>>
>> but that did nothing. Then I have
>>
>> * Modified dovecot.conf and set mail_location=mdbox:/source/mailboxes
>> * Then I had run
>>
>> /mnt/testmail/bin/dsync -Dv -u user@domain.com mirror
>> mdbox:/tmp/destination/mailboxes/user@domain.com
>>
>> that copied over user@domain.com mailbox from the source to the
>> destination location. As that was working I have tried to run
>>
>> /mnt/testmail/bin/dsync -Dv -u user@domain.com mirror
>> maildir:/tmp/destination/mailboxes/user@domain.com
>>
>> but that got an error:
>>
>> dsync(user@domain.com): Debug: Namespace inbox: type=private, prefix=,
>> sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes
>> location=maildir:/mnt/testmail/mailboxes
>>
>> dsync(user@domain.com): Error: User initialization failed: Namespace
>> '': Unknown mail storage driver maildir
>>
>> First problem is that based on example #2 from above provided syntax
>> in https://wiki.dovecot.org/Migration/MailFormat is incorrect or for
>> some reason is not working for me as it should for example #1.
>>
>> Second issue is not recognizing maildir format - what about that?
>> Docecot has some missing libraries?
>>
>> Thanks,
>>
>> Adam
I see, it seems it wasn't compiled with maildir storage engine.
About running another dovecot instance on the same box, I never tried it myself, but I guess you could have your production version (which needs to support maildir, otherwise you won't be able to access the mailboxes after the migration) in /usr (as distros usually do), and install your customized version (with support for maildir and dbox for the migration) in /usr/local.
If you go this way, you will have to reference the dovecot version you're addressing with the full path (/usr/bin/doveadm or /usr/local/bin/doveadm), or you'll have to rely on your $PATH environment variable. You also need to take into account to separate the /etc directories for both instances, because you'll probably need slightly different configurations.
Cheers
On 2019-06-24 10:34, Adam Raszkiewicz via dovecot wrote:
Yeah, I think dovecot was a custom compiled build
Version is 2.2.18
Config:
# 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 = postmaster@test2.domain.com 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 }
and --build-options:
Build options: ioloop=epoll notify=inotify ipv6 openssl io_block_size=8192 Mail storages: shared mdbox raw fail SQL drivers: mysql Passdb: checkpassword pam passwd passwd-file shadow sql Userdb: checkpassword nss passwd prefetch passwd-file sql
At that point my question is if I can run another dovecot build on the same box? I knew I can run the same instance but as is this a custom build I want to have something generic just to use for migration purposes.
Thanks, Adam
On 6/21/19, 4:45 PM, "dovecot on behalf of Germán Herrera via dovecot"
wrote: Well, judging by the error message it appears like dovecot hasn't
been compiled with support for maildir, which is strange because I don't see any way to disable in the compile-time options.
Are you using the precompiled package from the distro or compiling dovecot by yourself? Could you share the output of "dovecot --build-options" and "dovecot --version"? Thanks! On 2019-06-21 17:17, Adam Raszkiewicz wrote: > Hi German, > > I have tried your way and getting the same error message: > > dsync(user@domain.com): Debug: Namespace inbox: type=private,
prefix=, > sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes > location=maildir:~/Maildir > > dsync(user@domain.com): Error: User initialization failed: Namespace > '': Unknown mail storage driver maildir > > Thoughts? Missing dovecot library, something in the configuration? > > Thanks, > > Adam > > FROM: dovecot dovecot-bounces@dovecot.org on behalf of Germán Herrera > via dovecot dovecot@dovecot.org > ORGANIZATION: SES Sistemas Electrónicos S.A. > REPLY-TO: Germán Herrera g.herrera@ses.com.ar > DATE: Friday, June 21, 2019 at 3:10 PM > TO: Adam Raszkiewicz araszkiewicz@medallies.com > CC: "dovecot@dovecot.org" dovecot@dovecot.org > SUBJECT: Re: Mail migration problem > > Hi Adam > > Can you try: "doveadm sync -u <user> maildir:~/Maildir" > > My mailboxes are in sdbox (I have "mail_location = > sdbox:~/sdbox:ALT=/mnt/archive/%u/sdbox") and after running that > command I managed to successfully migrate the user mailbox to maildir. > Also that is the command I used to migrate all my user's maildirs to > sdbox some time ago. > > Regards > > --- > > Germán Herrera > Responsable de IT > Ingeniería > SES Sistemas Electrónicos S.A.| Espinosa 1045 (C1405AMM) | Buenos Aires > | Argentina > W: +54 11 54530000 | Email: g.herrera@ses.com.ar > > ------------------------- > > Denos su opinión aquí > > On 2019-06-21 11:58, Adam Raszkiewicz via dovecot wrote: > >> I'm trying to migrate mdbox to maildir based on >> https://wiki.dovecot.org/Migration/MailFormat >> >> * Modified dovecot.conf and set >> mail_location=maildir:/tmp/destination/mailboxes/ >> * Then I had run >> >> /mnt/testmail/bin/dsync -Dv -u user@domain.com mirror >> mdbox:/source/mailboxes/user@domain.com >> >> but that did nothing. Then I have >> >> * Modified dovecot.conf and set mail_location=mdbox:/source/mailboxes >> * Then I had run >> >> /mnt/testmail/bin/dsync -Dv -u user@domain.com mirror >> mdbox:/tmp/destination/mailboxes/user@domain.com >> >> that copied over user@domain.com mailbox from the source to the >> destination location. As that was working I have tried to run >> >> /mnt/testmail/bin/dsync -Dv -u user@domain.com mirror >> maildir:/tmp/destination/mailboxes/user@domain.com >> >> but that got an error: >> >> dsync(user@domain.com): Debug: Namespace inbox: type=private, prefix=, >> sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes >> location=maildir:/mnt/testmail/mailboxes >> >> dsync(user@domain.com): Error: User initialization failed: Namespace >> '': Unknown mail storage driver maildir >> >> First problem is that based on example #2 from above provided syntax >> in https://wiki.dovecot.org/Migration/MailFormat is incorrect or for >> some reason is not working for me as it should for example #1. >> >> Second issue is not recognizing maildir format - what about that? >> Docecot has some missing libraries? >> >> Thanks, >> >> Adam
participants (2)
-
Adam Raszkiewicz
-
Germán Herrera