0

我想写一个这样的筛子过滤器:

require "fileinto";
require "imap4flags";
require "variables";

set "adresses" ["foo.com", "bar.com", "baz.com"];

if address :domain ["to", "from"] ${addresses} {
    addflag "\\Seen";
    fileinto "Spam";
}

问题是,RFC和实现(ProtonMail's)都只允许字符串:

Usage: set [MODIFIER] <name: string> <value: string>

是否有任何适当或骇人的方式仍然可以做类似的事情?

4

1 回答 1

1

您可以将字符串用作带有分隔符的伪数组,例如:,这显然不是域名的一部分。

require "variables";

set "addresses" ":foo.com:bar.com:baz.com:";

if address :domain :matches "to"   "*" { set "domain_to"   "${1}"; }
if address :domain :matches "from" "*" { set "domain_from" "${1}"; }

if string :contains "${addresses}" [":${domain_to}:", ":${domain_from}:"] {
    addflag "\\Seen";
    fileinto "Spam";
}
于 2022-03-03T06:23:04.900 回答