В настоящее время я управляю почтовым сервером, которым управляет 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