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

Минимальный маршрутизатор Exim, который просто добавляет настраиваемый заголовок

Я ответил этот вопрос с моим текущим решением, но, как я уже сказал, я не доволен им на 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" для получения дополнительной информации.

Как включить это правило

Я предполагаю, что у вас "разделенная" конфигурация.

  1. Найдите файл с именем main/0000-localmacros или похожие. Если его не существует, создайте его.
  2. Файл должен содержать такую ​​строку:

    CHECK_DATA_LOCAL_ACL_FILE=/etc/exim4/some/file
    

    Если нет, добавьте эту строку. Имя файла может быть любым.

  3. Напишите строку выше в /etc/exim4/some/file файл ( warn add_header... один).
  4. Перенастройте exim. В Debian это можно сделать, запустив dpkg-reconfigure exim4-config команда.

После этого каждое письмо должно содержать указанный вами заголовок.