Hi Christian,
this will only lead to the error message

Error: sieve: file storage: Sieve storage path
'/maildirs/username/.dovecot.sieve' is not a directory, but it is to be
opened for write access

It did look like a change to
sieve_script personal {
 driver = file
 path = /maildirs/%{user}/
 active_path = /maildirs/%{user}/.dovecot.sieve
}

would be a fix according to the documentation, but that will result in yet
another error message:

Warning: sieve: storage personal: file: Active sieve script symlink
/maildirs/username/.dovecot.sieve is broken: Invalid/unknown path to
storage (points to /maildirs/username/.sieve, expected /maildirs/username)

Best regards,
Richadr

On Thu, Jan 29, 2026 at 11:41 AM Christian Mack <[email protected]> wrote:

> Hello
>
> SOGo uses the managesieve protocol.
> That didn't change.
>
> For me this looks like dovecot doesn't use the correct folder for SIEVE.
> Change your setting for:
> sieve_script personal {
>    path = ~/.dovecot.sieve
> }
>
> to:
> sieve_script personal {
>    path = /maildirs/%{user}/.dovecot.sieve
> }
>
>
> Kind regards,
> Christian Mack
>
> Am 28.01.26 um 22:01 schrieb Richard ([email protected]):
> > Hi,
> >
> > after updating our server, which included an upgrade for Dovecot to v2.4
> > it seems not everything is exactly where we left it off. One question
> > that still remains is with SOGo's mail filters. As an orientation, the
> > user's maildir directories are located in /maildirs/username, inside
> > there is a .sieve directory owned by the user, which only includes the
> > sogo.sieve file. This is symlinked to /maildirs/username/.dovecot.sieve,
> > so to apply it, it should be compiled to /maildirs/
> > username/.dovecot.svbin. Though since the update, this doesn't happen
> > anymore. SOGo shows in the web UI in the filters settings a warning
> > about an external sieve script being activated The only external ones
> > that are active and that also have been active before are located in /
> > etc/dovecot/. Simply saving changes to the settings on the filter page
> > does update the sogo.sieve script, but the compiled version doesn't get
> > updated. If I select manage everything through sogo in the warning
> > message and try to save changes, I get an error message in dovecot's
> > logs stating
> >
> >
> > Error: sieve: storage personal: file: script 'sogo': Failed to activate
> > Sieve script: symlink(/maildirs/usernamesieve/sogo.sieve, /home/
> > username/.dovecot.sieve) failed: No such file or directory
> >
> >
> > That shouldn't be a thing though. Users don't have home directories, so
> > of course no symlink can be created there, but that's also not what's
> > supposed to happen.
> >
> >
> > So what exactly is the mechanism behind SOGo's sieve implementation?
> > Where exactly can I change this back so the symlink already in place is
> > being used and the sieve script is successfully being compiled so it can
> > be applied? Is there anything that needs changing in SOGo's settings?
> > These settings related to SOGo are currently set:
> >
> >
> > SOGoSieveServer = "sieve://127.0.0.1:4190";
> > SOGoSieveFolderEncoding = UTF-8;
> > SOGoSieveScriptsEnabled = YES;
> >
> >
> > Or does anyone know if the new config scheme of Dovecot 2.4 requires
> > some weird adaptation that isn't immediately obvious?
> >
> >
> > Best regards,
> >
> > Richard
> >
>
> --
> Christian Mack
> Universität Konstanz
> Kommunikations-, Informations-, Medienzentrum (KIM)
> Abteilung IT-Dienste Forschung, Lehre, Infrastruktur
> 78457 Konstanz
> +49 7531 88-4416
>
>

Reply via email to