![筛选:将发往子地址的邮件放入文件夹](https://linux22.com/image/597766/%E7%AD%9B%E9%80%89%EF%BC%9A%E5%B0%86%E5%8F%91%E5%BE%80%E5%AD%90%E5%9C%B0%E5%9D%80%E7%9A%84%E9%82%AE%E4%BB%B6%E6%94%BE%E5%85%A5%E6%96%87%E4%BB%B6%E5%A4%B9.png)
是否可以编写类似 Sieve 规则
if envelope :detail "to" "$x" {
fileinto "inbox.$x";
}
但对于所有可能的情况$x
?例如,如果用户创建了一个文件夹,inbox.foo
我希望邮件user+foo@domain
自动发送到该文件夹。规格似乎不支持这一点。
答案1
事实证明,变量扩展是为了。
require "variables";
if envelope :detail :matches "to" "*" {
fileinto "inbox.${1}";
}
答案2
对我来说,这个有效:
require ["variables", "fileinto", "envelope", "subaddress", "mailbox"];
if envelope :matches :detail "to" "*" {
# you can prefix with INBOX/ or INBOX. if necessary
# remove :create if you want to permit only existing mailboxes
fileinto :create "${1}";
}
查看此处的示例: https://wiki.dovecot.org/Pigeonhole/Sieve/Examples
显然这也只是一个可以开启的选项:
lmtp_save_to_detail_mailbox=yes