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

Передать сообщение и авторизоваться внешнему скрипту в Exim

Я провел небольшое исследование, но застрял на этом. Я хотел бы иметь возможность получать сообщение, отправленное аутентифицированным пользователем, и передавать его скрипту вместе с авторизацией отправителя. Я использую простую аутентификацию, и я пробовал использовать переменные $ auth1-3, но они не работают, если я попытаюсь распечатать их, они будут пустыми. Я бы хотел сделать что-то вроде этого:

[...]

begin transports

pipe_delivery:
  driver = pipe
  command = /bin/bash -c "/usr/local/bin/myscript $auth2"

Возможно ли это сделать с помощью Exim? Есть обходные пути?

С уважением.

Интересно, доступна ли во время доставки информация о пользователе auth ... после того, как сообщение принято в очередь, я подозреваю, что информация больше не сохраняется.

Обходной путь может заключаться в том, чтобы включить информацию о пользователе аутентификации в строку заголовка Received :, а затем снова извлечь эту информацию в ваш скрипт. Мой received_header_text определение включает это в конце:

 ${if def:authenticated_id {auth $authenticated_id}}