К сожалению, нет встроенного метода для записи переменной helo_data в файл mainlog.
Вероятно, я бы использовал метод добавления хука где-то в пути сообщения для записи искомых данных в другой файл с некоторой ссылкой для указания на записи в файле основного журнала (скажем, идентификатор сообщения), или я бы настроил отдельный маршрутизатор и транспорт для каждого сайта. Транспорт, используемый для отправки почты, регистрируется в файле mainlog как значение T = my_transport.
Для пользовательской регистрации мне удалось сделать нечто подобное для вставки полученных данных электронной почты в базу данных, используя condition =
значение в маршрутизаторе. Вы можете использовать раскрытие строки ${run{<command> <args>}}
для достижения этой цели:
condition = ${run{/path/to/interpreter /path/to/custom/logging/script $sender_domain $message_exim_id}{1}{0}}
(Непроверенные)
Этот небольшой фрагмент в маршрутизаторе выполнит скрипт /path/to/custom/logging/script
используя интерпретатор /path/to/interpreter
(/bin/sh, /usr /bin/perl, что угодно), передав ему имя домена отправитель и идентификатор сообщения exim.
Он довольно тяжелый, поэтому не идеален для серверов с интенсивным использованием, но он может просто работать ...