Hello Hestia community,
System & Versions
- Ubuntu 24.04 (recently upgraded from 22.04)
- HestiaCP vX.X.X (latest)
- Dovecot/Postfix default setup (from Hestia installation)
Issue Description
After upgrading my server from Ubuntu 22.04 to 24.04 and updating to the latest Hestia release, I started seeing errors in my Sieve logs whenever a rule tries to forward (redirect) emails:
/home/<USER>/mail/<DOMAIN>/<MAILBOX>/dovecot.sieve.log
error: msgid=<...>: redirect action: failed to check for duplicate forward: internal error occurred: refer to server log for more information.
This happens for all forwarded emails across multiple mailboxes. The messages appear normally in the inbox, but the forward (redirect) never goes through.
What I’ve Tried So Far
- Checked Roundcube directories and corrected ownership/permissions under
/etc/roundcube/
,/var/log/roundcube/
, etc. That’s all working fine. - Verified that
dovecot.sieve.log
shows the same error for every message attempting a forward. - Looked inside
/home/<USER>/mail/<DOMAIN>/<MAILBOX>/Maildir/
for the.dovecot.lda-dupes
file. It seems that some lock directories (.dovecot.lda-dupes.locks
) are missing or don’t have the correct ownership.
Relevant Logs
Sample dovecot.sieve.log
lines:
sieve: info: started log at 2025-02-06 ...
error: msgid=<...>: redirect action: failed to check for duplicate forward: internal error occurred: refer to server log for more information.
These lines repeat for each forwarded email attempt.
Questions / Requests
- Is there a recommended approach or script in HestiaCP to fix these
.dovecot.lda-dupes.locks
directories system-wide? - Could the recent OS upgrade have changed default ownership (for instance from
vmail:vmail
to something else) and broken the Sieve lock checking?
Temporary Workaround
Manually creating the .dovecot.lda-dupes.locks
directory with correct vmail:vmail
ownership and 700
permissions for each affected mailbox fixes the issue. However, I have many mailboxes, so doing this manually is cumbersome.
Any Advice or Guidance?
- If there’s a built-in Hestia script or recommended approach, please let me know!
- Otherwise, is there a standard best practice for ensuring Dovecot’s Sieve forward lock directory is present for all users?
Thank you for your help. I appreciate any insights the community or developers can offer.