是否有办法将变量设置为筛中的字符串列表?



我想写一个像这样的筛选器:

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的)都只允许字符串:

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

有什么合适的或hack的方法来做这样的事情吗?

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

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";
}

最新更新