[an error occurred while processing this directive]

Скрытие локальных адресов авторизованных пользователей в Postfix
Необходимо, чтобы вместо подобных заголовков:

   Received: from localhost (dyn.pool.example.net [172.31.64.88])
	(using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
	(No client certificate requested)
	by mx.example.com (Postfix) with ESMTPSA id A2019508951
	for <user@example.net>; Wed, 23 Jun 2010 17:34:29 +0900 (JST)

стало так:

   Received: by mx.example.com (Postfix) with ESMTPSA id A2019508951
	for <user@example.net>; Wed, 23 Jun 2010 17:34:29 +0900 (JST)

Решение:

1. Включаем добавление нужного нам заголовка:

   smtpd_sasl_authenticated_header = yes

2. Включить header_checks, если они ещё не включены:

   header_checks = pcre:/etc/postfix/header_checks

3. Добавить в /etc/postfix/header_checks правило для замены строки, которую
хочется скрыть, заменив в примере mx\.example\.com на имя нужного почтового сервера:

   /^Received: from .*?([[:space:]]+\(Authenticated sender: [^)]+\).*by mx\.example\.com .*)/
   REPLACE Received: from [127.0.0.1] (localhost [127.0.0.1])${1}

4. Правило легко доработать чтобы скрывалась строка "Authenticated sender". Например, так:

   /^Received: from .*?\(Authenticated sender: [^)]+\)[[:space:]]+(by mx\.example\.com .*)/
   REPLACE Received: ${1}

Проверить полученное регулярное выражение можно командой:

   postmap -h -q - pcre:/etc/postfix/header_checks < test_message
 
13.07.2010 , Автор: sanmai , Источник: http://sanmai.livejournal.com/84667...
Ключи: postfix, header, filter, sasl, regex
Раздел:    Корень / Администратору / Сетевые сервисы / Mail, почта / Борьба со спамом, фильтрация почты

[an error occurred while processing this directive]

[an error occurred while processing this directive]