Postfix: как добавить заголовок только один раз?

Я хочу добавить заголовок с постфиксом к каждой исходящей почте с определенного домена. На данный момент я использую:

check_sender_access hash:/etc/postfix/prepend

с /etc/postfix/prepend:

my.domain PREPEND Header: value

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

поэтому, когда я отправляю письмо 4-м людям, каждый из них получает письмо, которое содержит заголовок 4 раза.

1 ответ

Решение

Для этого не существует "простого" решения. Вам нужно определить второй экземпляр smtpd в master.cf, иметь доступ к его собственному экземпляру очистки и определить карты header_checks для этого экземпляра очистки. Затем вы должны добавить заголовок к некоторому уникальному заголовку, присутствующему в этом письме, т.е.

Просто для записи, потому что я наткнулся на этот довольно старый вопрос (потому что у меня была очень похожая проблема):

Там является простое решение: поставить директиву check_sender_access в smtpd_data_restrictions.

Объяснение: Насколько я проверил, smptd_relay|recipient|sender|client_restrictions оцениваются один раз для каждого получателя сообщения, по крайней мере, если установлено smtpd_delay_reject (что по умолчанию и разумно в большинстве случаев). Таким образом, если вы поместите его в любой из них, заголовок будет добавлен один раз для каждого получателя сообщения. Конечно, это работает только в том случае, если ваше состояние не зависит от списка получателей сообщения.

Другие вопросы по тегам