我用一个catchall路由器将exim4转发到一个java进程。 java进程用户是有效的收件人。 我试图通过在exim中列入白名单来减less路由到java进程的垃圾邮件数量。
我已经在我的configuration文件中试过这个:
acl_check_rcpt: deny message = invalid recipient domains = thedomain.com recipients = !/etc/exim4/recipients_whitelist
还有大约十亿个其他的东西。 我已经validation,如果我将条件重写为deny或deny recipients = [email protected]则邮件被拒绝,但无法使用白名单方式工作。 我也尝试了反转逻辑来接受白名单用户,但这也不起作用。
这是我的路由器:
outer_catchall: driver = accept transport = dev_null_transport
这适用于我:
acl_check_rcpt: discard !recipients = /etc/exim4/recipients_whitelist
允许的收件人的邮件地址在/ etc / exim4 / recipients_whitelist中每行列出一个。 这个文件是白名单。
收件人请注意感叹号。
如果一些收件人被列入白名单而其他人被拒绝,那么这并不是一件容易的事情。 使用如下所示的路由器,让标准的ACL接收者validation完成这项工作。
outer_java: driver = accept domains = thedomain.com local_parts = /etc/exim4/java_local_parts transport = java_pipe