Sieve: deleteheader not working with duplicate filter for implicit keep
Alec Moskvin
alecm at gmx.com
Fri Sep 4 05:57:10 EEST 2020
Hi Stephan,
On Thursday 03 September 2020 22:28:20, Stephan Bosch wrote:
>
>
> On 03/09/2020 23:25, Alec Moskvin wrote:
> > Hi Stephan,
> >
> > On Wednesday 02 September 2020 19:59:57, Stephan Bosch wrote:
> >>
> >> On 29/08/2020 21:04, Alec Moskvin wrote:
> >>> Hello,
> >>>
> >>> I have a rule to always delete a header. If the message gets fileinto'd,
> >>> the header is gone, but if it's delivered into the INBOX through
> >>> implicit keep, the header does not get deleted.
> >>>
> >>> Interestingly, if I remove the "if duplicate" filter, the header does
> >>> get deleted as expected.
> >>>
> >>> I'm using the latest Dovecot 2.3.11.3 / Pigeonhole 0.5.11.
> >>>
> >>> Any idea why this is happening?
> >> Can you enable Sieve tracing? That should show you in detail what is
> >> happening during delivery and why.
> > It's saying "deleted 1 occurrences of header", but when it gets stored,
> > the header is still there.
>
> Hmm, did you try tracing with actual delivery using the sieve_trace*
> settings
> (https://wiki2.dovecot.org/Pigeonhole/Sieve/Configuration#Trace_Debugging)?
Sure, same result:
alec at haswell ~ $ grep sieve_trace /etc/dovecot/conf.d/90-sieve.conf
sieve_trace_dir = ~/sievetrace
sieve_trace_level = matching
sieve_trace_debug = yes
sieve_trace_addresses = yes
alec at haswell ~ $ nl -ba .dovecot.sieve
1 require ["fileinto", "editheader", "duplicate", "mailbox"];
2
3 deleteheader "X-Bad-Header";
4
5 if duplicate {
6 fileinto :create "Trash";
7 stop;
8 }
alec at haswell ~ $ /usr/libexec/dovecot/deliver << -end-
To: me at example.com
From: someone at example.com
Subject: Test Message
Message-Id: <${RANDOM}@example.net>
Date: Thu, 20 Aug 2020 00:21:24 +0000 (UTC)
X-Bad-Header: DELETE ME
Hello world
-end-
alec at haswell ~ $ cat .maildir/new/*
To: me at example.com
From: someone at example.com
Subject: Test Message
Message-Id: <12963 at example.net>
Date: Thu, 20 Aug 2020 00:21:24 +0000 (UTC)
X-Bad-Header: DELETE ME
Hello world
alec at haswell ~ $ cat sievetrace/20200903-224142.61896.1.trace
Sieve trace log for message delivery:
Username: alec
Session ID: 6T4DNWapUV/I8QAAISDkhQ
Sender: <>
Final recipient: <alec at haswell>
Default mailbox: INBOX
00000000: ## Started executing script '.dovecot'
0000000a: 3: deleteheader command
0000000a: 3: deleting header `X-Bad-Header'
0000000a: 3: deleted 1 occurrences of header `X-Bad-Header'
0000001c: 5: duplicate test
0000001c: 5: message is not a duplicate
0000001d: 5: jump if result is false
0000001d: 5: jumping to line 7 [00000030]
00000030: ## Finished executing script '.dovecot'
> >
> >
> > + nl -ba mini.sieve
> > 1 require ["fileinto", "editheader", "duplicate", "mailbox"];
> > 2
> > 3 deleteheader "X-Bad-Header";
> > 4
> > 5 if duplicate {
> > 6 fileinto :create "Trash";
> > 7 stop;
> > 8 }
> >
> > + tee test.msg
> > To: me at example.com
> > From: someone at example.com
> > Subject: Test Message
> > Message-Id: <8500 at example.net>
> > Date: Thu, 20 Aug 2020 00:21:24 +0000 (UTC)
> > X-Bad-Header: DELETE ME
> >
> > Hello world
> >
> > + sieve-test -CDe -t- -Tlevel=matching -Tdebug -l maildir:maildir mini.sieve test.msg
> > sieve-test(alec): Debug: sieve: Pigeonhole version 0.5.11 (d71e0372) initializing
> > sieve-test(alec): Debug: sieve: include: sieve_global is not set; it is currently not possible to include `:global' scripts.
> > sieve-test(alec): Debug: sieve: file storage: Using Sieve script path: /home/alec/sievetest/header/mini.sieve
> > sieve-test(alec): Debug: sieve: file storage: script: Opened script `mini' from `/home/alec/sievetest/header/mini.sieve'
> > sieve-test(alec): Debug: sieve: file storage: script: Opened script for reading
> > sieve-test(alec): Debug: sieve: Script `mini' from /home/alec/sievetest/header/mini.sieve successfully compiled
> >
> > ## Started executing script 'mini'
> > sieve-test(alec): Debug: sieve: Started running script `/home/alec/sievetest/header/mini.sieve'
> > 3: deleteheader command
> > 3: deleting header `X-Bad-Header'
> > 3: deleted 1 occurrences of header `X-Bad-Header'
> > 5: duplicate test
> > sieve-test(alec): Info: checked duplicate for user alec.
> >
> > 5: message is not a duplicate
> > 5: jump if result is false
> > 5: jumping to line 7
> > sieve-test(alec): Debug: sieve: Finished running script `/home/alec/sievetest/header/mini.sieve'
> > ## Finished executing script 'mini'
> >
> > sieve-test(alec): Info: sieve: msgid=<8500 at example.net>: stored mail into mailbox 'INBOX'
> > info: msgid=<8500 at example.net>: stored mail into mailbox 'INBOX'.
> > sieve-test(alec): Info: marked duplicate for user alec.
> >
> > sieve-test(alec): Info: final result: success
> > sieve-test(alec): Debug: sieve: file storage: script: Closed script
> >
> > + cat maildir/new/1599167523.M233933P55196.haswell,S=179,W=187
> > To: me at example.com
> > From: someone at example.com
> > Subject: Test Message
> > Message-Id: <8500 at example.net>
> > Date: Thu, 20 Aug 2020 00:21:24 +0000 (UTC)
> > X-Bad-Header: DELETE ME
> >
> > Hello world
>
More information about the dovecot
mailing list