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