Aby usunąć adres IP nadawcy z nagłówka Odebrane w celu przesłania nowej wiadomości, użyj header_checks
klucza zamiast smtp_header_checks
opcji:
header_checks = regexp:/etc/postfix/header_checks_submission
smtp_header_checks
Opcja ma zastosowanie tylko do poczty, która jest wysyłana z Postfix do zewnętrznych serwerów natomiast header_checks
opcja dotyczy przychodzącej poczty wysyłanej z klientem, aby Postfix.
Zobacz także, w jaki sposób Postfix odbiera pocztę na stronie http://www.postfix.org/OVERVIEW.html, aby uzyskać przegląd składników, poczta jest wysyłana z smtpd -> czyszczenie -> kolejka przychodząca. smtpd
Proces odbiera pocztę i wstrzykuje Received
nagłówek z adresem IP nadawcy. header_checks(5)
Opcja jest przetwarzane przez cleanup(8)
komponent, który dezynfekuje nagłówków e-mail.
To jest nie zaleca się ustawić taką header_checks
opcję globalnie w main.cf jak byłoby to zmodyfikować nagłówek Received wszystkie e-maile, nawet te otrzymane z serwerów zewnętrznych. Zamiast tego należy skonfigurować klienta do wysyłania wiadomości e-mail za pośrednictwem dedykowanej usługi przesyłania na porcie 587 i skonfigurować Postfix, aby przepisał nagłówki tylko dla tych uwierzytelnionych przesyłek.
W /etc/postfix/master.cf
dodaj następujące -o
wiersze po submission
wierszu:
submission inet n - y - - smtpd
# Require SASL authentication
-o smtpd_sasl_auth_enable=yes
# Require TLS transport security, do not leak your credentials in plaintext.
-o smtpd_tls_security_level=encrypt`
# Disallow unauthenticated users from sending mail through this port.
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# Use a different cleanup service (see below)
-o cleanup_service_name=ascleanup
Czas, aby skonfigurować oczyszczania usługi dla ciągu uthenticated s ubmissions. Wybieram nazwę, ascleanup
aby była krótka i wyrównana, ale każda nazwa działa. Aby to zrobić, zduplikuj wiersz usługi czyszczenia w tym samym master.cf
pliku, ale zmień nazwę pierwszego pola i dodaj nową opcję, aby wybrać plik filtru:
cleanup unix n - y - 0 cleanup
ascleanup unix n - y - 0 cleanup
-o header_checks=pcre:/etc/postfix/header_checks_submission
(Korzystanie z pcre
tabeli wymaga instalacji postfix-pcre
na Debianie, który automatycznie zajmie się aktualizacją pliku dynamicmaps.cf. W tym celu nie są potrzebne dalsze zmiany).
Ostatnim elementem jest rzeczywista konfiguracja filtra w /etc/postfix/header_checks_submission
. Możesz potencjalnie użyć czegoś takiego:
/^Received: .*/ IGNORE
co spowoduje usunięcie pełnej linii nagłówka Received, ale zamiast tego możesz po prostu upuścić from helo.host (reverse.host.name [192.0.2.1])
część zachowując inne informacje:
/^Received: from [^ ]+ \([^ ]+ \[[IPv0-9a-f:.]+\]\)\s+(.* \(Postfix\) with .+)$/ REPLACE Received: $1
Jeśli zmieniłeś mail_name
opcję, zmień Postfix
słowo tak, aby pasowało do konfiguracji. (Ten wzorzec jest dokładny w oparciu o kod źródłowy Postfix, smtpd / smtpd.c .)
Testowałem to z postfiksem 3.4.7-0 + deb10u1 na buster Debiana. Aby uzyskać kolejny świetny opis z tym samym podejściem, zobacz Wysyłając wiadomość e-mail za pomocą Postfix, w jaki sposób mogę ukryć adres IP i nazwę użytkownika nadawcy w otrzymanym nagłówku?
Dzięki powyższej modyfikacji następuje Received: by ...
:
Received: from debian (unknown [IPv6:fe80::b036:2ff:fe6e:73f4])
by mail.example.nl (Postfix) with ESMTPSA id 1571B910B
for <some@example.com>; Sun, 12 Jan 2020 02:23:15 +0000 (UTC)