为了捕获发送给任何收件人的邮件,我在 exim4 配置中添加了以下路由器指令:
local_catchall:
debug_print = "R: catchall for $local_part@$domain"
driver = redirect
domains = +local_domains
allow_fail
allow_defer
data = johanna
我怎样才能排除一些接受者地址就像可能的发件人地址一样:
acl_check_data:
strong textdeny senders = /etc/deny_senders
答案1
condition = ${lookup {$local_part@$domain} lsearch {/etc/deny_recips} {0} {1}}
你可以使用acl_smtp_rcpt
相反,但请注意,它仅用于 SMTP 输入,如有必要,请扩展:
deny recipients = /etc/deny_recips
答案2
你可以使用这个:
deny
condition = ${lookup{$local_part}nwildlsearch{/path/to/black.list}{yes}{no}}
message = User is black listed. Go away.
优点是您可以在black.list
文件中使用正则表达式。缺点是您可以在black.list
文件中使用正则表达式。因此你需要大量的测试(通过ecim -v -bt 1.2.3.4 …
)确保你的正则表达式是正确的。
我的文件black.list
如下所示:
^Diana.*$
^Evelina.*$
^Julia.*$
^Katherin.*$
^Olga.*$
^Violette.*$
^fax$
^sales$
看这个问题如果你不幸使用 Debian/Ubuntu...