Назад | Перейти на главную страницу

Exim - Как разрешить использование маршрутизатора Catchall только получателям из белого списка?

Я использую exim4 с маршрутизатором Catchall для пересылки почты в java-процесс. Допустимыми получателями являются пользователи процесса Java. Я пытаюсь уменьшить количество спама, направляемого в процесс java, добавляя пользователей в белый список в exim.

Я пробовал это в своем файле конфигурации:

acl_check_rcpt:

  deny message = invalid recipient
  domains = thedomain.com
  recipients = !/etc/exim4/recipients_whitelist

Наряду с миллиардом других вещей. Я убедился, что если я перепишу условие как просто deny или deny recipients = foobar@thedomain.com сообщение отклонено, но я не могу заставить работать белый список. Я также попытался инвертировать логику, чтобы принимать пользователей из белого списка, но это тоже не работает.

Вот мой роутер:

outer_catchall:
  driver = accept
  transport = dev_null_transport

Это работает для меня:

acl_check_rcpt:

  discard    
  !recipients = /etc/exim4/recipients_whitelist

Почтовые адреса разрешенных получателей перечислены по одному в строке в / etc / exim4 / recipients_whitelist. Этот файл находится в белом списке.

Обратите внимание на восклицательный знак перед получателями.

Если одни получатели занесены в белый список, а другие - нет - это еще не все. Используйте маршрутизатор, подобный приведенному ниже, и позвольте стандартной проверке получателя ACL выполнить свою работу.

outer_java:
  driver = accept
  domains = thedomain.com
  local_parts = /etc/exim4/java_local_parts
  transport = java_pipe