Как протестировать non-smtp ACLs в exim

Exim предоставляет возможность тестировать Ваш ACLs через CLI с помощью exim-bh. Однако этот метод открывает соединение SMTP, и можно только протестировать SMTP ACLs. Я хочу отладить и протестировать acl_not_smtp ACL - там какой-либо похожий способ сделать это?

С другой стороны, если кто-либо знает, почему это не работает в acl_not_smtp:

deny
      message = Outgoing email is blocked for this domain. Please contact support for assistance.
      senders = /etc/exim_blacklist_users

Это было бы чрезвычайно полезно. Это действительно работает в acl_smtp_rcpt.

3
задан 21 January 2015 в 16:44
1 ответ

Exim не имеет режима тестирования для локального, так как режим -bh имитирует соединение smtp. Так что вам придется делать это с настоящим сообщением.

Я бы создал образец сообщения с полными заголовками и телом, «sample.eml». Сделайте это на адрес, который вы контролируете, тестовый почтовый ящик или что-то в этом роде. Сделайте это с адреса, который вы хотите отклонить. Передайте сообщение в exim, используя простую командную строку:

# No real output
exim -bm -t < "sample.eml"
# Get verbose output, but still not much
exim -v -bm -t < "sample.eml"
# Here's where we figure things out: debug
exim -d+all -bm -t < "sample.eml"

Последнее сообщение произведет ЛОТ вывода, поэтому, возможно, перенаправит его в текстовый файл и просмотрит этот файл. Посмотрите, как он обрабатывает этот не-smtp acl при обработке этого сообщения. Вы найдете там ответ. Или обновите вопрос, добавив отладочную информацию для этого ACL, и мы уточним наш ответ.

Другой вариант - настроить ваше приложение, которое отправляет эти сообщения, для отправки с использованием SMTP на порт 25 127.0.0.1 вместо передачи сообщение в / usr / sbin / sendmail (это оболочка совместимости с sendmail для exim). Затем он будет использовать команду smtp rcpt acl.

2
ответ дан 3 December 2019 в 07:00

Теги

Похожие вопросы