以下是我如何配置筛选以将发送到Button WeekDoneButton = (Button) viewWeeklyTimetable.findViewById(R.id.week_done_button);
WeekDoneButton.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.colorAccent));
的任何邮件转发到我的私人电子邮件地址的示例。
[nameA|nameB|nameC]@example.org
有时候,电子邮件不会转发,因为它发送到的地址隐藏在“已接收”标题的某处。
if address :localpart :is ["To","Cc","Bcc"]
["nameA", "nameB", "nameC"] {
redirect "<my private email address>";
stop;
}
是否有一种有效的方法可以在筛选规则中捕获这些电子邮件?
答案 0 :(得分:1)
这里有XY问题。你真正想要做的是根据传递的地址进行过滤,而不是根据标题中的地址进行过滤。 (由于它可能不直观,标题中的地址可能与它被传递到的地址无关,这就是Bcc可以工作的方式。)
针对实际SMTP信封进行测试的命令是envelope
。
require "envelope";
if envelope :localpart :is "to" ["nameA", "nameB", "nameC"] {
redirect "<my private email address>";
stop;
}
这将处理传递给这些名称的所有邮件,无论它们是否显示在邮件标题中。
答案 1 :(得分:0)
在筛子的帮助下&#39;索引功能,您可以从收到的标头中解析收件人地址。
对于BCC排序,我通常会这样做:
require ["fileinto", "envelope", "variables", "mailbox", "index", "subaddress"];
...
if header :index 3 :matches "Received" "*<*@example.com>*" {
set :lower "foldername" "${2}";
fileinto :create "inbox.${foldername}";
} elsif header :index 2 :matches "Received" "*<*@example.com>*" {
set :lower "foldername" "${2}";
fileinto :create "inbox.${foldername}";
}
...
在我收到的邮件的已收到标题中,地址设置在尖括号中,这就是为什么我在上面的示例中选择了该模式的原因。
此外,有时收到的标题数量不同,因此我至少测试了两个不同的标题。