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

Exim - добавить нижний колонтитул ко всем исходящим письмам, кроме одного пользователя

В настоящее время я управляю почтовым сервером, которым управляет Exim 4.85. Этот сервер в настоящее время добавляет нижний колонтитул ко всем исходящим сообщениям. Строку, которая добавляет эту функциональность, можно найти в нескольких руководствах:

transport_filter=/usr/bin/altermime --input=- --disclaimer=/etc/exim_footer --disclaimer-html=/etc/exim_footer_html

Однако теперь необходимо сохранять некоторые исходящие электронные письма такими, какими они были изначально. Преимущество в том, что это нужно делать для одного адреса электронной почты, а именно bob@example.com, и все эти электронные письма будут только текстовыми (т.е. без HTML).

Пример:

alice@example.com sends email ===> exim adds footer ===> delivered
  bob@example.com sends email =========================> delivered

Я решил, что могу использовать расширение строки возможности и сделать altermime используйте для этого пустой файл, но до сих пор это был кошмар. Я в основном получал

Expansion of [...] failed: condition name expected, but found ""

и

transport filter process failed (127): unable to execute command

Что меня беспокоит, так это то, что при тестировании расширения через exim -bem команда возвращает желаемый результат.

Это лишь некоторые из моих неудачных попыток:

transport_filter=/usr/bin/altermime --input=- --disclaimer='${if eq {$sender_address}{bob@example.com}{/etc/exim_footer}{/etc/empty_file}}'
transport_filter=/usr/bin/altermime --input=- --disclaimer=${if eq {$sender_address}{bob@example.com}{/etc/empty_file}{/etc/exim_footer}} --disclaimer-html=/etc/exim_footer_html
transport_filter={${if eq {$sender_address}{bob@example.com}{/etc/empty_file}{/usr/bin/altermime --input=- --disclaimer=/etc/exim_footer --disclaimer-html=/etc/exim_footer_html}}}

Есть идеи, как это сделать?

Установите для вашего transport_filter значение bash / python / .. script

transport_filter = /scripts/exim_add_signature.sh $sender_address

Видеть http://www.exim.org/exim-html-current/doc/html/spec_html/ch-generic_options_for_transports.html для документации по transport_filter.

В скрипте сделайте следующее (псевдокод):

no_signature_mails = ["bob@example.com"]
if (argv[1] isnotin no_signature_mails)
    /usr/bin/altermime --input=- --disclaimer=/etc/exim_footer --disclaimer-html=/etc/exim_footer_html