Exim

Exim4:如何阻止收件人地址列表

  • October 3, 2017

為了擷取發送給任何收件人的郵件,我在 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 

使用condition路由器選項和單鍵查詢,如

condition = ${lookup {$local_part@$domain} lsearch {/etc/deny_recips} {0} {1}}

您可以acl_smtp_rcpt改用,但請注意,它僅用於 SMTP 輸入,如有必要,請擴展:

deny recipients = /etc/deny_recips

你可以使用這個:

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,請參閱此問題…

引用自:https://unix.stackexchange.com/questions/390768