where can I find all variables like "imap.user" like in mentioned on page[2]
I have the impression that variables like "${from}" are all being set from scanning the whole email again seeing these "if matches" statements. Is that not super inefficient? I would assume that such variables would be set and made available upon the receipt of a message.
What is the point of this: if environment :matches "imap.user" "*" { set "username" "${1}"; } pipe :copy "sa-learn-ham.sh" [ "${username}" ];
Why can't I just use: pipe :copy "sa-learn-ham.sh" [ "imap.user" ];
[1] require [ "vnd.dovecot.pipe", "copy", "variables" ]; if header :matches "subject" "*" { set "subject" "${1}"; } if header :matches "from" "*" { set "from" "${1}"; } pipe :args [ "USER@DOMAIN.TLD", "${from}", "${subject}" ] :copy :try "jabber_notify.sh" ; from page
https://wiki.dovecot.org/Pigeonhole/Sieve/Plugins/Pipe
[2] if environment :matches "imap.user" "*" { set "username" "${1}"; }
pipe :copy "sa-learn-spam.sh" [ "${username}" ];
https://doc.dovecot.org/configuration_manual/howto/antispam_with_sieve/#howt...