Фильтр Horde/ingo с ситом dovecot не подходит.
У меня есть следующий сценарий сита (сгенерированный программой ingo Horde):
if address :all :comparator "i;ascii-casemap" :contains "From" "Apotheke" {
discard;
stop;
}
Но это просто не будет соответствовать моим электронным письмам. Например:
[...]
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; s=root; d=studio24mw.com;
h=From:Subject:To:Content-Type:MIME-Version:Date:Message-ID;
i=firewall@studio24mw.com;
bh=vLpX7dkYT5Q4Pa27lzI7l2QbOYaZ6KqVK8qoW3XtNXI=;
b=VIXKBd3YeXmCYVVCe/3XhlEwy/7WKjIS9PsG0c63d8P08aVkNOj0mZneGF8o2QibLFJYWQ7Xg1Pj
ckPVTrE9+PMpcUhGu40QNjl1vgSoV/CbnrY3MB3rVmmjqqW5s5wvRB1EXpCRP3fwu6BAUh11qQms
IS83UbL1wMU8sd3GF6Y=
From: "Apotheke" <firewall@studio24mw.com>
[...]
Затем попробуйте с помощью командной строки:
# sudo -u test sieve-test -Tlevel=matching -t - /tmp/.dovecot.sieve /tmp/testmail
## Started executing script '.dovecot'
5: address test
5: starting `:contains' match with `i;ascii-casemap' comparator:
5: extracting `From' headers from message
5: parsing address header value `"Apotheke" <firewall@studio24mw.com>'
5: address value `firewall@studio24mw.com'
5: extracting `all' part from address <firewall@studio24mw.com>
5: matching value `firewall@studio24mw.com'
5: with key `Apotheke' => 0
5: finishing match with result: not matched
5: jump if result is false
5: jumping to line 7
## Finished executing script '.dovecot'
Performed actions:
(none)
Implicit keep:
* store message in folder: INBOX
sieve-test(test): Info: final result: success
Похоже, что тест выполняется только для части адреса, а не для всего заголовка «От». Я перепробовал все варианты в ingo, которые только мог придумать, но ничего не подходило.
Есть ли способ сопоставить всю строку заголовка, а не только адрес?