On 2018-11-14 13:51, Adi Pircalabu wrote:> On 2018-11-14 13:11, Adi Pircalabu wrote: >> Hi, >> >> Using https://wiki.dovecot.org/HowTo/AntispamWithSieve I'm trying to >> execute scripts when moving to/from Spam folder, however nothing's >> happening. The actions are: >> 1. Move to Spam: redirect :copy "spamcop_spam at domain.local"; >> 2. Move from Spam: redirect :copy "spamcop_ham at domain.local"; > [...] >> /usr/lib64/dovecot/sieve/report-spam.sieve contains: >> require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", >> "variables"]; >> redirect :copy "spamcop_spam at domain.local"; >> /usr/lib64/dovecot/sieve/report-ham.sieve contains: >> require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", >> "variables"]; >> redirect :copy "spamcop_ham at domain.local"; > > More information after enabling mail_debug, in maillog I see: > Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, > ip=[::1]. Debug: Module loaded: > /usr/libexec/dovecot/modules/lib95_imap_sieve_plugin.so > Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, > ip=[::1]. Debug: imapsieve: Mail set keywords > Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, > ip=[::1]. Debug: imapsieve: mailbox INBOX.Spam: FLAG event (changed > flags: Junk) > Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, > ip=[::1]. Debug: sieve: Pigeonhole version 0.4.16 (fed8554) > initializing > Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, > ip=[::1]. Debug: sieve: include: sieve_global is not set; it is > currently not possible to include `:global' scripts. > Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, > ip=[::1]. Debug: sieve: Sieve imapsieve plugin for Pigeonhole version > 0.4.16 (fed8554) loaded > Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, > ip=[::1]. Debug: sieve: Sieve Extprograms plugin for Pigeonhole > version 0.4.16 (fed8554) loaded > Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, > ip=[::1]. Debug: imapsieve: Static mailbox rule [1]: mailbox=`Spam' > from=`*' causes=(COPY) => > before=`file:/usr/lib64/dovecot/sieve/report-spam.sieve' after=(none) > Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, > ip=[::1]. Debug: imapsieve: Static mailbox rule [2]: mailbox=`*' > from=`Spam' causes=(COPY) => > before=`file:/usr/lib64/dovecot/sieve/report-ham.sieve' after=(none) > Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, > ip=[::1]. Debug: Module loaded: > /usr/libexec/dovecot/modules/lib95_imap_sieve_plugin.so > Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, > ip=[::1]. Debug: imapsieve: mailbox INBOX: MOVE event > Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, > ip=[::1]. Debug: sieve: Pigeonhole version 0.4.16 (fed8554) > initializing > Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, > ip=[::1]. Debug: sieve: include: sieve_global is not set; it is > currently not possible to include `:global' scripts. > Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, > ip=[::1]. Debug: sieve: Sieve imapsieve plugin for Pigeonhole version > 0.4.16 (fed8554) loaded > Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, > ip=[::1]. Debug: sieve: Sieve Extprograms plugin for Pigeonhole > version 0.4.16 (fed8554) loaded > Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, > ip=[::1]. Debug: imapsieve: Static mailbox rule [1]: mailbox=`Spam' > from=`*' causes=(COPY) => > before=`file:/usr/lib64/dovecot/sieve/report-spam.sieve' after=(none) > Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, > ip=[::1]. Debug: imapsieve: Static mailbox rule [2]: mailbox=`*' > from=`Spam' causes=(COPY) => > before=`file:/usr/lib64/dovecot/sieve/report-ham.sieve' after=(none) > > So imapsieve "sees" the configuration, then I went and enabled > debugging in the 2 sieve scripts which now read: > 1. /usr/lib64/dovecot/sieve/report-spam.sieve > require ["vnd.dovecot.pipe", "copy", "imapsieve", "vnd.dovecot.debug"]; > debug_log "/var/tmp/report-spam.sieve.debug"; > redirect :copy "spamcop_spam at domain.local"; > 2. /usr/lib64/dovecot/sieve/report-ham.sieve > require ["vnd.dovecot.pipe", "copy", "imapsieve", "vnd.dovecot.debug"]; > debug_log "/var/tmp/report-ham.sieve.debug"; > redirect :copy "spamcop_ham at domain.local"; > > Should I expect to see debugging in /var/tmp/report-ham.sieve.debug > and /var/tmp/report-spam.sieve.debug, respectively? The 2 files aren't > created, nothing in that directory. > BTW, getenforce=Disabled.Tried with another set of ham/spam scripts that are supposed to log to syslog. Now using: 1. log-ham.sieve which contains: require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", "variables"]; if environment :matches "imap.mailbox" "*" { set "mailbox" "${1}"; } if string "${mailbox}" "Trash" { stop; } if environment :matches "imap.user" "*" { set "username" "${1}"; } pipe :copy "sa-learn-ham.sh" [ "${username}" ]; 2. log-spam.sieve which contains: require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", "variables"]; if environment :matches "imap.user" "*" { set "username" "${1}"; } pipe :copy "sa-learn-spam.sh" [ "${username}" ]; And the 2 sa-learn scripts: 1. sa-learn-ham.sh contains: #!/bin/bash exec /usr/bin/logger `basename $0` Called for mailbox $1 2. sa-learn-spam.sh contains: #!/bin/bash exec /usr/bin/logger `basename $0` Called for mailbox $1 After compiling log-ham.sieve and log-spam.sieve, making sa-learn-spam.sh and sa-learn-ham.sh executable and reloading dovecot I should see syslog entries like this: Nov 14 14:19:08 plesk12 root: sa-learn-spam.sh Called for mailbox test at test.com But I see nothing. Needless to say the sa-learn scripts are running from command line. I'm a bit lost at the moment, any ideas? --- Adi Pircalabu
On 2018-11-14 14:25, Adi Pircalabu wrote:> On 2018-11-14 13:51, Adi Pircalabu wrote: >> On 2018-11-14 13:11, Adi Pircalabu wrote: >>> Hi, >>> >>> Using https://wiki.dovecot.org/HowTo/AntispamWithSieve I'm trying to >>> execute scripts when moving to/from Spam folder, however nothing's >>> happening. The actions are: >>> 1. Move to Spam: redirect :copy "spamcop_spam at domain.local"; >>> 2. Move from Spam: redirect :copy "spamcop_ham at domain.local"; >> [...] >>> /usr/lib64/dovecot/sieve/report-spam.sieve contains: >>> require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", >>> "variables"]; >>> redirect :copy "spamcop_spam at domain.local"; >>> /usr/lib64/dovecot/sieve/report-ham.sieve contains: >>> require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", >>> "variables"]; >>> redirect :copy "spamcop_ham at domain.local"; >> >> More information after enabling mail_debug, in maillog I see: >> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, >> ip=[::1]. Debug: Module loaded: >> /usr/libexec/dovecot/modules/lib95_imap_sieve_plugin.so >> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, >> ip=[::1]. Debug: imapsieve: Mail set keywords >> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, >> ip=[::1]. Debug: imapsieve: mailbox INBOX.Spam: FLAG event (changed >> flags: Junk) >> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, >> ip=[::1]. Debug: sieve: Pigeonhole version 0.4.16 (fed8554) >> initializing >> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, >> ip=[::1]. Debug: sieve: include: sieve_global is not set; it is >> currently not possible to include `:global' scripts. >> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, >> ip=[::1]. Debug: sieve: Sieve imapsieve plugin for Pigeonhole version >> 0.4.16 (fed8554) loaded >> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, >> ip=[::1]. Debug: sieve: Sieve Extprograms plugin for Pigeonhole >> version 0.4.16 (fed8554) loaded >> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, >> ip=[::1]. Debug: imapsieve: Static mailbox rule [1]: mailbox=`Spam' >> from=`*' causes=(COPY) => >> before=`file:/usr/lib64/dovecot/sieve/report-spam.sieve' after=(none) >> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, >> ip=[::1]. Debug: imapsieve: Static mailbox rule [2]: mailbox=`*' >> from=`Spam' causes=(COPY) => >> before=`file:/usr/lib64/dovecot/sieve/report-ham.sieve' after=(none) >> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, >> ip=[::1]. Debug: Module loaded: >> /usr/libexec/dovecot/modules/lib95_imap_sieve_plugin.so >> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, >> ip=[::1]. Debug: imapsieve: mailbox INBOX: MOVE event >> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, >> ip=[::1]. Debug: sieve: Pigeonhole version 0.4.16 (fed8554) >> initializing >> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, >> ip=[::1]. Debug: sieve: include: sieve_global is not set; it is >> currently not possible to include `:global' scripts. >> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, >> ip=[::1]. Debug: sieve: Sieve imapsieve plugin for Pigeonhole version >> 0.4.16 (fed8554) loaded >> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, >> ip=[::1]. Debug: sieve: Sieve Extprograms plugin for Pigeonhole >> version 0.4.16 (fed8554) loaded >> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, >> ip=[::1]. Debug: imapsieve: Static mailbox rule [1]: mailbox=`Spam' >> from=`*' causes=(COPY) => >> before=`file:/usr/lib64/dovecot/sieve/report-spam.sieve' after=(none) >> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at adit1.local, >> ip=[::1]. Debug: imapsieve: Static mailbox rule [2]: mailbox=`*' >> from=`Spam' causes=(COPY) => >> before=`file:/usr/lib64/dovecot/sieve/report-ham.sieve' after=(none) >> >> So imapsieve "sees" the configuration, then I went and enabled >> debugging in the 2 sieve scripts which now read: >> 1. /usr/lib64/dovecot/sieve/report-spam.sieve >> require ["vnd.dovecot.pipe", "copy", "imapsieve", >> "vnd.dovecot.debug"]; >> debug_log "/var/tmp/report-spam.sieve.debug"; >> redirect :copy "spamcop_spam at domain.local"; >> 2. /usr/lib64/dovecot/sieve/report-ham.sieve >> require ["vnd.dovecot.pipe", "copy", "imapsieve", >> "vnd.dovecot.debug"]; >> debug_log "/var/tmp/report-ham.sieve.debug"; >> redirect :copy "spamcop_ham at domain.local"; >> >> Should I expect to see debugging in /var/tmp/report-ham.sieve.debug >> and /var/tmp/report-spam.sieve.debug, respectively? The 2 files aren't >> created, nothing in that directory. >> BTW, getenforce=Disabled. > > Tried with another set of ham/spam scripts that are supposed to log to > syslog. Now using: > 1. log-ham.sieve which contains: > require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", > "variables"]; > > if environment :matches "imap.mailbox" "*" { > set "mailbox" "${1}"; > } > > if string "${mailbox}" "Trash" { > stop; > } > > if environment :matches "imap.user" "*" { > set "username" "${1}"; > } > > pipe :copy "sa-learn-ham.sh" [ "${username}" ]; > > 2. log-spam.sieve which contains: > require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", > "variables"]; > > if environment :matches "imap.user" "*" { > set "username" "${1}"; > } > > pipe :copy "sa-learn-spam.sh" [ "${username}" ]; > > And the 2 sa-learn scripts: > 1. sa-learn-ham.sh contains: > #!/bin/bash > > exec /usr/bin/logger `basename $0` Called for mailbox $1 > > 2. sa-learn-spam.sh contains: > #!/bin/bash > > exec /usr/bin/logger `basename $0` Called for mailbox $1 > > After compiling log-ham.sieve and log-spam.sieve, making > sa-learn-spam.sh and sa-learn-ham.sh executable and reloading dovecot > I should see syslog entries like this: > Nov 14 14:19:08 plesk12 root: sa-learn-spam.sh Called for mailbox > test at test.com > > But I see nothing. Needless to say the sa-learn scripts are running > from command line. I'm a bit lost at the moment, any ideas?After more digging I've ended up with this sieve spam script: require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", "variables", "vnd.dovecot.debug"]; ---CUT HERE--- if environment :matches "imap.user" "*" { set "username" "${1}"; } debug_log "In log-spam.sieve, username = ${username}"; pipe :copy "sa-learn-spam.sh" [ "${username}" ]; ---CUT HERE--- Can't see anything in maillog. Where can I read more about debugging imapsieve? -- Adi Pircalabu, System Administrator DDNS, a Total Internet Company 159 Barkly Avenue, Burnley, Vic 3121, T +61 3 9815 6868
For the archives: after reading
https://www.dovecot.org/list/dovecot/2017-February/107039.html I found &
fixed the issue, it appears I *must* use the inbox prefix, hence the
configuration should be:
plugin {
sieve_plugins = sieve_imapsieve sieve_extprograms
imapsieve_mailbox1_name = INBOX.Spam
imapsieve_mailbox1_causes = COPY
imapsieve_mailbox1_before =
file:/usr/lib64/dovecot/sieve/report-spam.sieve
imapsieve_mailbox2_name = *
imapsieve_mailbox2_from = INBOX.Spam
imapsieve_mailbox2_causes = COPY
imapsieve_mailbox2_before =
file:/usr/lib64/dovecot/sieve/report-ham.sieve
sieve_pipe_bin_dir = /usr/lib64/dovecot/sieve
sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment
}
Perhaps worth adding a note to
https://wiki.dovecot.org/HowTo/AntispamWithSieve for this case?
--
Adi Pircalabu
On 2018-11-14 15:08, Adi Pircalabu wrote:> On 2018-11-14 14:25, Adi Pircalabu wrote:
>> On 2018-11-14 13:51, Adi Pircalabu wrote:
>>> On 2018-11-14 13:11, Adi Pircalabu wrote:
>>>> Hi,
>>>>
>>>> Using https://wiki.dovecot.org/HowTo/AntispamWithSieve I'm
trying to
>>>> execute scripts when moving to/from Spam folder, however
nothing's
>>>> happening. The actions are:
>>>> 1. Move to Spam: redirect :copy "spamcop_spam at
domain.local";
>>>> 2. Move from Spam: redirect :copy "spamcop_ham at
domain.local";
>>> [...]
>>>> /usr/lib64/dovecot/sieve/report-spam.sieve contains:
>>>> require ["vnd.dovecot.pipe", "copy",
"imapsieve", "environment",
>>>> "variables"];
>>>> redirect :copy "spamcop_spam at domain.local";
>>>> /usr/lib64/dovecot/sieve/report-ham.sieve contains:
>>>> require ["vnd.dovecot.pipe", "copy",
"imapsieve", "environment",
>>>> "variables"];
>>>> redirect :copy "spamcop_ham at domain.local";
>>>
>>> More information after enabling mail_debug, in maillog I see:
>>> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at
adit1.local,
>>> ip=[::1]. Debug: Module loaded:
>>> /usr/libexec/dovecot/modules/lib95_imap_sieve_plugin.so
>>> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at
adit1.local,
>>> ip=[::1]. Debug: imapsieve: Mail set keywords
>>> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at
adit1.local,
>>> ip=[::1]. Debug: imapsieve: mailbox INBOX.Spam: FLAG event (changed
>>> flags: Junk)
>>> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at
adit1.local,
>>> ip=[::1]. Debug: sieve: Pigeonhole version 0.4.16 (fed8554)
>>> initializing
>>> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at
adit1.local,
>>> ip=[::1]. Debug: sieve: include: sieve_global is not set; it is
>>> currently not possible to include `:global' scripts.
>>> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at
adit1.local,
>>> ip=[::1]. Debug: sieve: Sieve imapsieve plugin for Pigeonhole
version
>>> 0.4.16 (fed8554) loaded
>>> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at
adit1.local,
>>> ip=[::1]. Debug: sieve: Sieve Extprograms plugin for Pigeonhole
>>> version 0.4.16 (fed8554) loaded
>>> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at
adit1.local,
>>> ip=[::1]. Debug: imapsieve: Static mailbox rule [1]:
mailbox=`Spam'
>>> from=`*' causes=(COPY) =>
>>> before=`file:/usr/lib64/dovecot/sieve/report-spam.sieve'
after=(none)
>>> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at
adit1.local,
>>> ip=[::1]. Debug: imapsieve: Static mailbox rule [2]:
mailbox=`*'
>>> from=`Spam' causes=(COPY) =>
>>> before=`file:/usr/lib64/dovecot/sieve/report-ham.sieve'
after=(none)
>>> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at
adit1.local,
>>> ip=[::1]. Debug: Module loaded:
>>> /usr/libexec/dovecot/modules/lib95_imap_sieve_plugin.so
>>> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at
adit1.local,
>>> ip=[::1]. Debug: imapsieve: mailbox INBOX: MOVE event
>>> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at
adit1.local,
>>> ip=[::1]. Debug: sieve: Pigeonhole version 0.4.16 (fed8554)
>>> initializing
>>> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at
adit1.local,
>>> ip=[::1]. Debug: sieve: include: sieve_global is not set; it is
>>> currently not possible to include `:global' scripts.
>>> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at
adit1.local,
>>> ip=[::1]. Debug: sieve: Sieve imapsieve plugin for Pigeonhole
version
>>> 0.4.16 (fed8554) loaded
>>> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at
adit1.local,
>>> ip=[::1]. Debug: sieve: Sieve Extprograms plugin for Pigeonhole
>>> version 0.4.16 (fed8554) loaded
>>> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at
adit1.local,
>>> ip=[::1]. Debug: imapsieve: Static mailbox rule [1]:
mailbox=`Spam'
>>> from=`*' causes=(COPY) =>
>>> before=`file:/usr/lib64/dovecot/sieve/report-spam.sieve'
after=(none)
>>> Nov 14 13:41:52 plesk12 dovecot: service=imap, user=adi1 at
adit1.local,
>>> ip=[::1]. Debug: imapsieve: Static mailbox rule [2]:
mailbox=`*'
>>> from=`Spam' causes=(COPY) =>
>>> before=`file:/usr/lib64/dovecot/sieve/report-ham.sieve'
after=(none)
>>>
>>> So imapsieve "sees" the configuration, then I went and
enabled
>>> debugging in the 2 sieve scripts which now read:
>>> 1. /usr/lib64/dovecot/sieve/report-spam.sieve
>>> require ["vnd.dovecot.pipe", "copy",
"imapsieve",
>>> "vnd.dovecot.debug"];
>>> debug_log "/var/tmp/report-spam.sieve.debug";
>>> redirect :copy "spamcop_spam at domain.local";
>>> 2. /usr/lib64/dovecot/sieve/report-ham.sieve
>>> require ["vnd.dovecot.pipe", "copy",
"imapsieve",
>>> "vnd.dovecot.debug"];
>>> debug_log "/var/tmp/report-ham.sieve.debug";
>>> redirect :copy "spamcop_ham at domain.local";
>>>
>>> Should I expect to see debugging in /var/tmp/report-ham.sieve.debug
>>> and /var/tmp/report-spam.sieve.debug, respectively? The 2 files
>>> aren't
>>> created, nothing in that directory.
>>> BTW, getenforce=Disabled.
>>
>> Tried with another set of ham/spam scripts that are supposed to log to
>> syslog. Now using:
>> 1. log-ham.sieve which contains:
>> require ["vnd.dovecot.pipe", "copy",
"imapsieve", "environment",
>> "variables"];
>>
>> if environment :matches "imap.mailbox" "*" {
>> set "mailbox" "${1}";
>> }
>>
>> if string "${mailbox}" "Trash" {
>> stop;
>> }
>>
>> if environment :matches "imap.user" "*" {
>> set "username" "${1}";
>> }
>>
>> pipe :copy "sa-learn-ham.sh" [ "${username}" ];
>>
>> 2. log-spam.sieve which contains:
>> require ["vnd.dovecot.pipe", "copy",
"imapsieve", "environment",
>> "variables"];
>>
>> if environment :matches "imap.user" "*" {
>> set "username" "${1}";
>> }
>>
>> pipe :copy "sa-learn-spam.sh" [ "${username}" ];
>>
>> And the 2 sa-learn scripts:
>> 1. sa-learn-ham.sh contains:
>> #!/bin/bash
>>
>> exec /usr/bin/logger `basename $0` Called for mailbox $1
>>
>> 2. sa-learn-spam.sh contains:
>> #!/bin/bash
>>
>> exec /usr/bin/logger `basename $0` Called for mailbox $1
>>
>> After compiling log-ham.sieve and log-spam.sieve, making
>> sa-learn-spam.sh and sa-learn-ham.sh executable and reloading dovecot
>> I should see syslog entries like this:
>> Nov 14 14:19:08 plesk12 root: sa-learn-spam.sh Called for mailbox
>> test at test.com
>>
>> But I see nothing. Needless to say the sa-learn scripts are running
>> from command line. I'm a bit lost at the moment, any ideas?
>
> After more digging I've ended up with this sieve spam script:
> require ["vnd.dovecot.pipe", "copy",
"imapsieve", "environment",
> "variables", "vnd.dovecot.debug"];
>
> ---CUT HERE---
> if environment :matches "imap.user" "*" {
> set "username" "${1}";
> }
>
> debug_log "In log-spam.sieve, username = ${username}";
>
> pipe :copy "sa-learn-spam.sh" [ "${username}" ];
> ---CUT HERE---
>
> Can't see anything in maillog. Where can I read more about debugging
> imapsieve?