Postfix добавляет заголовки при отправке писем по умолчанию. Там есть много информации, которую не следует раскрывать. В Postfix есть механизм фильтрации заголовков (и не только), который хорошо подойдёт для этой цели. Надо установить пакет postfix-pcre
apt install postfix-pcre
Далее, в файл /etc/postfix/main.cf добавить строку:
smtp_header_checks = pcre:/etc/postfix/smtp_header_checks
Механизм фильтрации довольно обширен. Всего есть целый ряд подобных директив:
header_checks = pcre:/etc/postfix/header_checks
mime_header_checks = pcre:/etc/postfix/mime_header_checks
nested_header_checks = pcre:/etc/postfix/nested_header_checks
body_checks = pcre:/etc/postfix/body_checks
milter_header_checks = pcre:/etc/postfix/milter_header_checks
smtp_header_checks = pcre:/etc/postfix/smtp_header_checks
smtp_mime_header_checks = pcre:/etc/postfix/smtp_mime_header_checks
smtp_nested_header_checks = pcre:/etc/postfix/smtp_nested_header_checks
smtp_body_checks = pcre:/etc/postfix/smtp_body_checks
- header_checks — проверка заголовков во входящих письмах
- smtp_header_checks — проверка заголовков в исходящих письмах
- mime_header_checks — проверка MIME-заголовков вложенных вайлов во входящих письмах
- nested_header_checks — проверка заголовков вложенных сообщений
- body_checks — проверка всего остального контента письма
- milter_header_checks — проверка заголовков добавляемых Milter-ом
- smtp_* — проверка всего того же самого, но в исходящих сообщениях.
Нам удобнее использовать именно smtp_header_checks.
Затем в файле: /etc/postfix/smtp_header_checks надо добавить правила фильтрации. Принцип такой:
/Заголовок/ действие аргумент_если_есть
Действия (Actions) могут быть следующие (имена действий не чувствительны к регистру):
BCC user@domain
добавляет указанный адрес в качестве получателя BCC
DISCARD необязательный текст
Подтверждает об успешной доставке и молча отбрасывает сообщение. Не проверяет оставшуюся часть входного сообщения. Записывает в журнал необязательный текст, если он указан.
FILTER transport:destination
HOLD optional text...
IGNORE
Удаляет текущую строку из данных и переходит к следующей
INFO optional text...
Делает запись в логах
PREPEND text...
Добавляет к текущей строке указанный текст и переходит к следующей строке ввода.
REDIRECT user@domain
REPLACE text...
Меняет текущую строку указанным текстом
REJECT optional text...
Отклоняет всё сообщение целиком. Не просматривает оставшуюся часть входного сообщения.
WARN optional text...
Логирует сообщение.
Мы будем использовать IGNORE
и REPLACE
Для того чтобы избавиться от ip-адреса локальной сети, вставляемого в исходящее письмо, а также тип почтового агента и его версию добавьте в файл /etc/postfix/smtp_header_checks следующие строки:
/^X-Originating-IP:/ IGNORE
/^X-Mailer:/ IGNORE
/^Mime-Version:/ IGNORE
Если вы знакомы с регулярными выражениями regexp или regex (от Regular Expressions) то вам будет просто разобраться как использовать детективу REPLACE , если нет, то добавьте следующую строку в файл /etc/postfix/smtp_header_checks
/^Received: from .*/ REPLACE Received: from your-mail-domain.ru (using ESMTPS)
Можно конечно полностью убрать заголовок директивой
/^Received: from .*/ IGNORE
Но в этом случае некоторые спам-фильтры будут занижать оценку вашей почте. Лучше не удалять этот заголовок совсем.
После редактирования надо перезагрузить postfix для вступления всех изменений в силу.