我有筛规则:
if header :contains "subject" ["TOP-SECRET"] {
setflag "\\Seen";
fileinto :create "Hidden-Folder";
stop;
}
基于此TOP-SECRET
,主题中包含的任何内容都被移动到hidden-folder
并设置为已读。
有没有办法Hidden-Folder
通过筛子将其设置为未订阅(从文件夹列表中隐藏)?或者如何“管道”哪个帐户订阅文件必须由脚本编辑?
我认为没有配置这种行为的选项——无论是在 Sieve 中,还是在 Pigeonhole 或 Dovecot 配置中。
但我可以提出一个解决方法:创建一个未订阅的隐藏文件夹并将子目录放入其中。
如果您创建一个
Hidden-Folder
定义为取消订阅的文件夹(手动或使用doveadm
),则执行fileinto :create "Hidden-Folder.Foo" will create the folder
fooinside
Hidden-Folder` 操作,但不会自动订阅它。你当然也可以在运行后使用
vnd.dovecot.execute
和 rundoveadm mailbox unsubscribe
取消订阅邮箱fileinto
,甚至在提交邮件之前创建邮箱(不订阅它)。不过,我对通过 Sieve 执行系统命令的感觉并不好;即使它只是一个带有经过良好检查的参数的预定义命令。经过一些测试后,我获得了所需的功能,可以通过管道将其传输到外部脚本。
筛选代码如下所示:
然后筛管
my-script
代码看起来像旁注 - 确保所有邮箱的所有者
/mnt/var/mailboxes
是 Dovecot。