<div>I sent the following email a couple of months ago, but didn't get any response, so I thought I'd try again. Would anyone be able to confirm for me which files and folders I need to move in order to resolve this situation with the home vs. maildir issue?</div><div><br></div><div class="protonmail_signature_block"><div class="protonmail_signature_block-user protonmail_signature_block-empty"><br></div><div class="protonmail_signature_block-proton">Sent with <a href="https://protonmail.com" target="_blank">ProtonMail</a> Secure Email.<br></div></div><div><br></div><div>‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐<br></div><div> On Sunday, June 28, 2020 6:43 AM, David White <dmwhite823@protonmail.com> wrote:<br></div><div> <br></div><blockquote class="protonmail_quote" type="cite"><div>I have Dovecot 2.3.7.2 on Ubuntu 20.04.<br></div><div>I just migrated the server from CentOS 8, and only migrated to the CentOS 8 machine a few months ago off of CentOS 7.<br></div><div>I am pasting `doveconf -n` at the bottom of this email.<br></div><div><br></div><div><div>Everything is working.<br></div><div>However, I'm trying to clean up warnings in the logs, and just discovered that I'm not managing home directories properly.<br></div><div>(c/f <a href="https://wiki.dovecot.org/VirtualUsers/Home">https://wiki.dovecot.org/VirtualUsers/Home</a>)<br></div></div><div><br></div><div>This is in the logs:<br></div><blockquote><div>Jun 28 06:09:50 mail.example.com dovecot: imap(email@example.com)<3786><fICEJCKpbfatQHg1>: Error: stat(/var/vmail/example.com/email@example.com/.dovecot.sieve/tmp) failed: Not a directory<br></div></blockquote><div><div><br></div><div>Can I please get a sanity check?<br></div><div>To resolve, I've come up with a bash loop to create a home folder, and fix the existing structure for each mailbox on the system. <br></div><div>I ran this for 1 of the domains on the system.<br></div></div><div><br></div><blockquote><div>for i in */ ; do mv "$i" mail; mkdir "$i"; mv mail "$i"; mv "$i"/.dovecot* "$i"; done<br></div></blockquote><div><br></div><div>Then, I would simply edit /etc/dovecot/conf.d/10-mail.conf so that it looks like this:<br></div><blockquote><div>mail_home = /var/vmail/%d/%u<br></div><div>mail_location = maildir:/var/vmail/%d/%u/mail<br></div></blockquote><div><br></div><div>To confirm, should all of the 'hidden' dovecot files be moved to the user's new home folder like I'm trying to do in the above script?<br></div><div>Or are there other files that I will need to move?<br></div><div><br></div><div>After running that loop above on a test server (don't worry, I would never do this in production without testing), one of the mailbox's home folder on the server looks like this:<br></div><div><br></div><blockquote><div>total 56<br></div><div>drwxr-xr-x   4 vmail vmail  4096 Jun 28 06:19 .<br></div><div>drwx------   6 vmail vmail  4096 Jun 28 06:09 ..<br></div><div>-rw-------   1 vmail vmail    54 Jul  4  2019 .dovecot.lda-dupes<br></div><div>lrwxrwxrwx   1 vmail vmail    21 May 26  2016 .dovecot.sieve -> sieve/roundcube.sieve<br></div><div>-rw-------   1 vmail vmail     0 Oct 17  2016 .dovecot.sieve.log<br></div><div>-rw-------   1 vmail vmail   218 Jul  6  2019 .dovecot.svbin<br></div><div>drwx------ 277 vmail vmail 32768 Jun 28 06:19 mail<br></div><div>drwx------   3 vmail vmail  4096 Feb  2 17:31 sieve<br></div></blockquote><div><br></div><div>... and connecting to that mailbox over Thunderbird seems to be working fine.<br></div><div>But I want to make sure I'm not missing anything.<br></div><div><br></div><div>Here is my doveconf -n, with identifying information snipped out:<br></div><div><br></div><blockquote><div>root@mail:# doveconf -n<br></div><div># 2.3.7.2 (3c910f64b): /etc/dovecot/dovecot.conf<br></div><div># Pigeonhole version 0.5.7.2 ()<br></div><div># OS: Linux 5.4.0-39-generic x86_64 Ubuntu 20.04 LTS ext4<br></div><div># Hostname: {snip}<br></div><div>auth_mechanisms = plain login<br></div><div>mail_location = maildir:/var/vmail/%d/%u<br></div><div>managesieve_notify_capability = mailto<br></div><div>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<br></div><div>namespace inbox {<br></div><div>  inbox = yes<br></div><div>  location =<br></div><div>  mailbox Drafts {<br></div><div>    auto = subscribe<br></div><div>    special_use = \Drafts<br></div><div>  }<br></div><div>  mailbox Junk {<br></div><div>    special_use = \Junk<br></div><div>  }<br></div><div>  mailbox Sent {<br></div><div>    auto = subscribe<br></div><div>    special_use = \Sent<br></div><div>  }<br></div><div>  mailbox "Sent Messages" {<br></div><div>    special_use = \Sent<br></div><div>  }<br></div><div>  mailbox Spam {<br></div><div>    auto = create<br></div><div>    special_use = \Junk<br></div><div>  }<br></div><div>  mailbox Trash {<br></div><div>    auto = subscribe<br></div><div>    special_use = \Trash<br></div><div>  }<br></div><div>  prefix =<br></div><div>}<br></div><div>passdb {<br></div><div>  args = /etc/dovecot/dovecot-sql.conf.ext<br></div><div>  driver = sql<br></div><div>}<br></div><div>plugin {<br></div><div>  sieve = file:~/sieve;active=~/.dovecot.sieve<br></div><div>}<br></div><div>protocols = imap pop3 lmtp sieve<br></div><div>service auth-worker {<br></div><div>  user = $default_internal_user<br></div><div>}<br></div><div>service auth {<br></div><div>  unix_listener /var/spool/postfix/private/auth {<br></div><div>    group = postfix<br></div><div>    mode = 0666<br></div><div>    user = postfix<br></div><div>  }<br></div><div>  unix_listener auth-userdb {<br></div><div>    group = postfix<br></div><div>    mode = 0666<br></div><div>    user = vmail<br></div><div>  }<br></div><div>}<br></div><div>service lmtp {<br></div><div>  unix_listener /var/spool/postfix/private/dovecot-lmtp {<br></div><div>    group = postfix<br></div><div>    mode = 0666<br></div><div>    user = postfix<br></div><div>  }<br></div><div>}<br></div><div>ssl = required<br></div><div>ssl_ca = </etc/ssl/certs/snip.ca-bundle<br></div><div>ssl_cert = </etc/ssl/certs/snip.crt<br></div><div>ssl_cipher_list = ALL:!LOW:!SSLv3:!EXP:!aNULL:!MD5<br></div><div>ssl_key = # hidden, use -P to show it<br></div><div>userdb {<br></div><div>  args = uid=vmail gid=vmail home=/var/vmail/%d/%u<br></div><div>  driver = static<br></div><div>}<br></div><div><br></div></blockquote><div><br></div><div class="protonmail_signature_block"><div class="protonmail_signature_block-user protonmail_signature_block-empty"><br></div><div class="protonmail_signature_block-proton">Sent with <a href="https://protonmail.com" target="_blank">ProtonMail</a> Secure Email.<br></div></div><div><br></div></blockquote><div><br></div>