使用exim systemfilter删除特定的传入和传出的电子邮件并返回消息

我想使用systemfilter忽略来自和到特定域的电子邮件,使用以下规则:

如果(“$ message_body:,$ h_to :, $ h_reply_to :, $ sender_address”包含“example.com”),则失败endif

但是,这种过滤的问题在于,它使得发送者失去了我们不希望的发送者。

我们不希望全局禁用反弹消息,所以可以简单地删除我们的规则insilal FAIL检测到的任何消息和交付失败?

请给我一个build议。 亲切的问候

你可以'保存'到/ dev / null。 之后没有额外的处理,因为Exim将其视为重要交付。

if ("$message_body:, $h_to:, $h_reply_to:, $sender_address" contains "example.com") then save /dev/null endif 

手册包含更多信息

这可能也值得引入RFC 5321

“正如下文第7.8节和第7.9节所讨论的,在实践中允许在没有通知发件人的情况下投递邮件,但是这是非常危险的,违反了邮件传递或返回的长期传统和社区期望。被滥用,这可能会轻易地破坏互联网邮件系统可靠性的信心,所以只有在非常有信心认为这些邮件严重欺诈或者其他不适当的情况下才应该考虑悄悄丢弃邮件。

如果(“$ message_body:,$ h_to:,$ h_reply_to :, $ sender_address”包含“example.com”),则保存并放弃电子邮件并不再处理它的最准确答案是:if / dev / null结束endif

要么

如果(“$ message_body:,$ h_to:,$ h_reply_to:,$ sender_address”包含“example.com”),则看到finish endif