Копируя пользователя [email protected], мы делаем нет хотите, чтобы люди получали этот список скрытых копий, кроме «пользователя» [email protected].
Цель
- Мы хотим архивировать все письма, проходящие через postfix, отправленные и полученные.
В настройке используются:
- постфикс,
- аутентификация dovecot с пользователями Pam (вытягивание из Ldap),
- и доставка в почтовые ящики через LMTP от Dovecot.
Мы хотим включить получателей Bcc в архив сообщений.
Мы делаем нет хотите, чтобы люди получали этот список скрытых копий, кроме «пользователя» [email protected].
Пробный
Использование always_bcc = [email protected]
Работает.
Но квитанции Bcc (которые согласно правам находятся в конверте как RCPT TO, а не в заголовке) теряются.
С использованием:
(согласно Какие существуют варианты для архивирования электронной почты Postfix и сохранения любой информации BCC в заголовке)
main.cf
smtpd_recipient_restrictions =
check_recipient_access pcre:/etc/postfix/prepend.pcre
в то время как выражение pcre:
prepend.pcre
/(.+)/ ПОДГОТОВИТЬ X-Envelope-To: $1
который работает как шарм:
мое сохраненное сообщение имеет заголовки To:; копия; X-Конверт-Кому.
Если в какой-то день нам понадобится покопаться в этом, мы сможем узнать, кто получил сообщение, даже в скрытой копии.
(Примечание: X-Envelope-To включает в себя людей «Кому» и «Копия», а также получателей внешних доменов).
- Чтобы устранить X-Envelope-To:
Для отправки:
smtp_header_checks = pcre:/etc/postfix/smtp_header_checks.pcre
С содержимым:
smtp_header_checks.pcre
/^X-Конверт-Кому:/ ИГНОРИРОВАТЬ
Все в порядке, пока нет.
Проблема
Чтобы исключить X-Envelope-To для писем, не покидающих сервер.
Я сделал:
lmtp_header_checks = pcre:/etc/postfix/lmtp_header_checks.pcre
lmtp_header_checks.pcre
/^X-Конверт-Кому:/ ИГНОРИРОВАТЬ
Но это не выборочно, даже [email protected] теряет заголовок, который был «сохранен» в списке скрытых копий.
Я не могу найти способ выборочной проверки этого заголовка, поскольку он оценивает только саму строку и не может использовать получателя для создания условия (даже с использованием «если» pcre).
(http://www.postfix.org/pcre_table.5.html)
Есть ли какая-либо переменная, которую можно использовать?
Была мысль:
включить «[email protected]» в заголовок X-Envelope-To,
в lmtp_header_checks.pcre включите что-то вроде: [email protected] не равно $LMTP_DELIVERY_RECIPIENT
Delivered-To или X-Delivered-To остаются отдельным заголовком, который pcre не может оценить как переменную.
В противном случае есть ли способ заставить lmtp запускать какой-нибудь milter?
И простой фильтр lmtp_milter, который я могу использовать для этого?
Преследовали в течение нескольких дней во всех возможных документах,
заранее спасибо