这是我如何配置 sieve 以将发送到 [nameA|nameB|nameC]@example.org
的所有邮件转发到我的私有(private)电子邮件地址的示例。
if address :localpart :is ["To","Cc","Bcc"]
["nameA", "nameB", "nameC"] {
redirect "<my private email address>";
stop;
}
但有时,电子邮件不会被转发,因为它被发送到的地址隐藏在“已接收” header 中的某个地方。
Received: from ###server### ([###ip_address###])
by ###server### with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256)
(Exim 4.84)
(envelope-from <###email_address###>)
id 1alDM0-0000yT-60
for nameA@example.org; Wed, 30 Mar 2016 12:28:00 +0200
是否也有一种有效的方法可以在筛选规则中捕获这些电子邮件?
最佳答案
这里有一个 XY 问题。您实际上想在这里做的是根据传递到的地址进行过滤,而不是标题中的地址。 (尽管可能不直观, header 中的地址可能与它被传送到的地址无关,而这正是 Bcc 的工作方式。)
针对实际 SMTP 信封进行测试的命令是 envelope
.
require "envelope";
if envelope :localpart :is "to" ["nameA", "nameB", "nameC"] {
redirect "<my private email address>";
stop;
}
这将处理所有发送到这些名称的邮件,无论它们是否出现在邮件 header 中。
关于email - 在筛选中测试 "Received"电子邮件 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36306660/