Я ответил этот вопрос с моим текущим решением, но, как я уже сказал, я не доволен им на 100%. Это решение вопроса «Как добавить настраиваемый заголовок ко всей исходящей почте» включало добавление headers_add
параметр в существующий транспорт Smarthost. Тем не менее, я могу видеть обновления или реконфигурацию, отменяющие мое редактирование в какой-то момент без моего ведома.
Я надеялся создать минимальный маршрутизатор, который будет работать на ранних этапах цепочки, и просто добавить требуемый заголовок - этот заголовок можно добавить в все mail, будь то для локальной или удаленной доставки. Но я не смог найти ни одного примера маршрутизатора, который работает, добавляет заголовок, а затем передает все сообщения следующему маршрутизатору в цепочке. Я создал это, что кажется работать, но я новичок в Exim, и был бы признателен, если бы кто-нибудь указал на недостатки или лучший способ достижения желаемого результата. Маршрутизатор /etc/exim4/conf.d/router/01_exim4-config_dev_header
:
dev_header:
debug_print = "R: dev_header for $local_part@$domain"
driver = redirect
headers_add = "X-Test-Dev-Header: true"
data = $local_part@$domain
self = pass
Для этого вам не нужен роутер. Намного проще (и, на мой взгляд, чище) иметь оператор в ACL acl_smtp_data, который ничего не делает, кроме добавления заголовка, например:
warn add_header = X-Test-Dev-Header: true
Видеть "Добавление строк заголовков в ACL" для получения дополнительной информации.
Как включить это правило
Я предполагаю, что у вас "разделенная" конфигурация.
main/0000-localmacros
или похожие. Если его не существует, создайте его.Файл должен содержать такую строку:
CHECK_DATA_LOCAL_ACL_FILE=/etc/exim4/some/file
Если нет, добавьте эту строку. Имя файла может быть любым.
/etc/exim4/some/file
файл ( warn add_header...
один).dpkg-reconfigure exim4-config
команда.После этого каждое письмо должно содержать указанный вами заголовок.