Changing the default delivery mailbox to something other than INBOX

Ron Garret ron at flownet.com
Mon Jan 18 18:05:12 EET 2021


On Jan 17, 2021, at 11:06 PM, Aki Tuomi <aki.tuomi at open-xchange.com> wrote:

> 
>> On 18/01/2021 08:56 Ron Garret <ron at flownet.com> wrote:
>> 
>> 
>> On Jan 17, 2021, at 10:48 PM, Aki Tuomi <aki.tuomi at open-xchange.com> wrote:
>> 
>>> Don't touch the INBOX setting (leave it out), use the -m parameter for dovecot-lda.
>> 
>> I don’t think that will work.  My MTA is postfix and it’s connected to dovecot via LMTP, so AFAIK postfix is talking to dovecot over a socket, and dovecot-lda isn’t being invoked so there is no place to pass that the -m parameter.  But we are at the limits of my understanding of how all this stuff actually works under the hood so please correct me if I’m wrong here.
>> 
>> rg
> 
> Ah, you are using LMTP... then the easiest is to use Sieve here.

I was afraid of that :-(

What about just using postfix as the LDA?

> You can use simple global script, e.g. /etc/dovecot/default-mbox.sieve
> 
> ```
> require ["fileinto", "mailbox"];
> fileinto "OtherBox";
> ```
> 
> then sievec the script, and use
> 
> plugin {
>  sieve_before = /etc/dovecot/default-mbox.sieve
> }
> 
> this way it will change the default mailbox, but allows per-user scripts to change it.

The problem is that the spam filter needs to put good messages back in INBOX.  That would cause an infinite loop (unless sieve has a mechanism to prevent this that I don’t know about).  So to prevent this I’d need to make the rule conditional on some header that the spam filter adds before moving the message back.  The problem with *that* is that it plays badly with the strategy for training the filter, which is for the user to move false-positive messages from SPAM to INBOX.  A user might then also move a good message from OtherBox to INBOX rather than wait for the spam filter to get around to processing it, and then sieve would (presumably) move it right back.  So now I need *another* header that *sieve* adds before moving the message to OtherBox and make the rule conditional on *that* header.  It all starts to seem very complicated and fragile.

rg



More information about the dovecot mailing list