Я пытаюсь скрыть IP-адрес клиента от писем, отправленных с постфикса.
Вот пример того, что я имею в виду:
Received: from mail.[removed].com (adsl-75-37-61-254.dsl.frs2ca.sbcglobal.net [75.37.61.254])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(No client certificate requested)
by mail.[removed].com (Postfix) with ESMTP id D50C7BF185DD
for <[removed]@gmail.com>; Thu, 2 Aug 2012 16:14:21 +0900 (JST)
Date: Thu, 02 Aug 2012 07:14:08 +0000
Обратите внимание на эту строку (adsl-75-37-61-254.dsl.frs2ca.sbcglobal.net [75.37.61.254])
Я хочу удалить эту строку из письма.
Я пытался сделать это:
/etc/postfix/main.cf:
smtp_header_checks = regexp:/etc/postfix/smtp_header_checks
smtp_header_checks:
/^((.*) [(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])])/ IGNORE
Но мой IP-адрес все еще находится внутри полученной части письма. Если я отправляю почту с сервера smtp локально, IP-адрес становитсяlocalhost.localdomain [127.0.0.1]
Как я могу удалить клиентские IP-адреса из заголовка?
regexp:/etc/postfix/smtp_header_checks
наpcre:/...
. Затем я перезапустил postfix и отслеживал почтовый журнал на наличие ошибок. Ошибки не отображались. В электронном письме по-прежнему отображается мой IP-адрес. XD Спасибо за усилия, Майк.postmap -q "Received: from mail.[removed].com (adsl-75-37-61-254.dsl.frs2ca.sbcglobal.net [75.37.61.254])" pcre:/etc/postfix/smtp_header_checks
и вывод былIGNORE
таким работает. Однако это не вносит изменения в электронную почту ... Поле внутриmain.cf
неправильно?smtp_header_checks
должен был бытьheader_checks
... Это работает сейчас. Мне очень жаль, что я потратил впустую ваше время. Я ценю ваши усилия. Спасибо. pcre тоже работает тоже. Я на санто. Еще раз спасибо, брат.Откройте /etc/postfix/master.cf и найдите:
cleanup unix n - n - 0 cleanup
Добавьте ниже этих строк и станьте:
cleanup unix n - n - 0 cleanup -o header_checks=pcre:/etc/postfix/header_checks
Отредактируйте / etc / postfix / header_checks и добавьте следующие коды:
/^Received:/ IGNORE
Теперь перезапустите постфикс. Позвольте сказать на CentOS:
service postfix restart
источник
Received
заголовок на входящей почте.Чтобы удалить IP-адрес отправителя из заголовка «Получено» для новых отправлений почты, используйте
header_checks
ключ вместоsmtp_header_checks
параметра:Этот
smtp_header_checks
параметр применяется только к почте, отправляемой из Postfix на внешние серверы, тогда как этотheader_checks
параметр применяется к входящей почте, отправляемой с вашего клиента в Postfix.Смотрите также Как Postfix получает почту на http://www.postfix.org/OVERVIEW.html для обзора компонентов, почта отправляется из smtpd -> cleanup -> входящей очереди.
smtpd
Процесс получает почту и вводитReceived
заголовок с IP - адресом отправителя.header_checks(5)
Опция обрабатываетсяcleanup(8)
компонентом , который дезинфицирует заголовки электронной почты.Он не рекомендуется устанавливать такую
header_checks
опцию глобально в вашем main.cf , как это будет изменить заголовок Received в всех электронных письмах, даже те , полученные от внешних серверов. Вместо этого вы должны настроить свой клиент на отправку электронной почты через выделенную службу отправки через порт 587 и настроить Postfix для перезаписи заголовков только для этих аутентифицированных представлений.В
/etc/postfix/master.cf
, добавьте следующие-o
строки послеsubmission
строки:Время для настройки очистки сервис для через uthenticated s ubmissions. Я выбираю имя,
ascleanup
чтобы оно было коротким и выровненным, но любое имя работает. Для этого продублируйте строку обслуживания очистки в том жеmaster.cf
файле, но переименуйте первое поле и добавьте новую опцию, чтобы выбрать файл фильтра:(Использование
pcre
таблицы требует установкиpostfix-pcre
в Debian, который автоматически позаботится об обновлении файла dynamicmaps.cf. Никаких дальнейших изменений для этого не требуется.)Последняя часть - это фактическая конфигурация фильтра в
/etc/postfix/header_checks_submission
. Вы могли бы потенциально использовать что-то вроде:который удалит полную строку заголовка Received, но вместо этого вы можете просто отбросить
from helo.host (reverse.host.name [192.0.2.1])
деталь, сохранив при этом другую информацию:Если вы изменили
mail_name
параметр, изменитеPostfix
слово в соответствии с вашей конфигурацией. (Этот шаблон точен на основе исходного кода Postfix, smtpd / smtpd.c .)Я протестировал это с постфиксом 3.4.7-0 + deb10u1 на Debian Buster. Еще одно отличное описание с тем же подходом см. В разделе «Как отправить сообщение электронной почты и имя пользователя отправителя в заголовке« Получено »при отправке электронной почты с использованием Postfix»?
С вышеупомянутой модификацией следующее превращается в
Received: by ...
:источник
использовать этот:
использовать только один
*
в обоих концахисточник