On 2025-02-14 06:13, Aki Tuomi via dovecot wrote:
On 14/02/2025 03:53 EET MRob via dovecot <dovecot@dovecot.org> wrote:
Hello I have accounts with Maildir (mail_location is empty/default) and postfix using lmtp for delivery. Some account create new file in Maildir/new after each deliver. However a couple account I see lmtp successful delivery but no new file anywhere in the Maildir:
lmtp(21379): Connect from local lmtp(me)<21379><Mbc+GgTmrofPHw4vAMIs8i>: msgid=<...trimmed...>: saved mail to INBOX 370A131BE: to=<me@example.com>, relay=email.example.com[private/dovecot-lmtp], delay=0.3, delays=0.22/0.01/0.02/0.01, dsn=2.0.0, status=sent (250 2.0.0 <me@example.com> Mbc+GgTmrofPHw4vAMIs8i Saved) lmtp(21379): Disconnect from local: Logged out (state=READY)
/home/me/Maildir/new is empty and also try "find /home/me/Maildir -type f | wc -l" but no different before/after
Very interesting I can see trace of message in dovecot cache! "grep -r 'domain.from.message.id' /home/" (search all accounts) says:
grep: /home/me/Maildir/dovecot.index.cache: binary file matches
So dovecot put traces of message into Maildir but no message file after successful "Saved" in logs.
What can I do?
Can you post doveconf -n? Also you can enable mail_debug=yes logs to see more details.
Thank you for reply. I had monitored and now some messages are stored correct in the problem accounts, but not sure if delivery count matche file count. Could a connected/idle IMAP client pull messages from server (delete server copy) without notification in log file and leaving message traces in the dovecot cache file? (is that possible explanation?) Postconf is mostly defaults from package install. Ill turn debug yes if i can verify the problem still happening.
auth_mechanisms = plain login auth_username_format = %Ln first_valid_uid = 1000 listen = example.com, 127.0.0.1 lmtp_add_received_header = no mbox_write_locks = fcntl namespace inbox { inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox Sent { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = } passdb { driver = pam } protocols = imap pop3 lmtp service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } ssl = required ssl_cert = </etc/letsencrypt/live/example.com/fullchain.pem ssl_cipher_list = PROFILE=SYSTEM ssl_key = # hidden, use -P to show it userdb { driver = passwd }