我需要使用以下三个规则对收到的电子邮件进行分类:
- 如果电子邮件发送至任何@somedomain.tld,然后将该电子邮件复制到“somedomain_tld”
- 如果电子邮件发送至任何其他@*.tld,然后将该电子邮件复制到“others_tlds”。(任何其他 =“不是somedomain.tld”)
- 将其余的电子邮件复制到第三个文件夹“rest”。
我正在使用鸽舍筛选规则来做到这一点。
还有一个附加条件:上述三个规则必须应用于电子邮件中的每个“收件人:”地址……因此,在最复杂的情况下,应将电子邮件复制到三个文件夹中
例如:应将以下电子邮件复制到三个文件夹中:
From: [email protected]
To: [email protected], [email protected], [email protected]
Subject: Test Email
This is a test email
- 因为 ”[电子邮件保护]“此电子邮件应复制到“somedomain_tld”
- 因为 ”[电子邮件保护]“此电子邮件应抄送至“others_tlds”
- 因为 ”[电子邮件保护]“此电子邮件应抄送至“rest”
要求和第一条规则很简单:
require ["fileinto","copy"];
if address :is :domain "to" "somedomain.tld" { fileinto :copy "somedomain_tld"; }
但第二个不知道该怎么做:
if address :matches :domain "to" "*.tld" { fileinto :copy "others_tlds"; }
也会与 somedomain.tld 匹配,但这并不是我想要的...(如果我有一封电子邮件,内容是“收件人:[电子邮件保护]“它将被复制到 somedomain_tld (OK) 和 others_tlds (BUG))
对于#3我一点头绪都没有。
我也在考虑正则表达式,但我不知道如何在筛选正则表达式(或任何其他正则表达式样式)中表达“除此之外的每个域”
有人知道如何弯曲鸽舍筛来做 1、2、3 吗?
答案1
require ["fileinto"];
if header :contains "To" "domain.tld"
{
fileinto "INBOX/domain_tld";
stop;
}
if header :contains "To" ".tld"
{
fileinto "INBOX/other_tld";
stop;
}
if true
{
fileinto "INBOX/rest";
stop;
}