नए मेल सबमिशन के लिए प्राप्त हेडर से प्रेषक आईपी को हटाने के लिए, विकल्प के header_checksबजाय कुंजी का उपयोग करें smtp_header_checks:
header_checks = regexp:/etc/postfix/header_checks_submission
smtp_header_checksविकल्प केवल मेल बाहरी सर्वर से पोस्टफिक्स से भेजा गया है कि जबकि पर लागू होता है header_checksविकल्प पोस्टफिक्स के लिए अपने ग्राहक से भेजे आने वाली मेल पर लागू होता है।
यह भी देखें कि घटकों के अवलोकन के लिए http://www.postfix.org/OVERVIEW.html पर मेल पोस्टफ़िक्स कैसे प्राप्त करता है , मेल smtpd -> क्लीनअप -> इनकमिंग कतार से जाता है। प्रक्रिया मेल प्राप्त करता है और injects इस आईपी पते के साथ शीर्ष लेख। विकल्प द्वारा संसाधित किया जाता है घटक है जो ईमेल हेडर sanitizes।smtpdReceivedheader_checks(5)cleanup(8)
यह आपके main.cf में विश्व स्तर पर इस तरह के एक विकल्प को स्थापित करने के लिए अनुशंसित नहीं हैheader_checks क्योंकि यह सभी ईमेलों में प्राप्त हेडर को संशोधित करेगा , यहां तक कि बाहरी सर्वर से प्राप्त होने वाले। इसके बजाय, आपको पोर्ट 587 पर एक समर्पित सबमिशन सेवा के माध्यम से ईमेल भेजने के लिए अपने क्लाइंट को कॉन्फ़िगर करना चाहिए, और पोस्टफ़िक्स को इन प्रमाणित सबमिशन के लिए हेडर को फिर से लिखने के लिए कॉन्फ़िगर करना चाहिए।
में /etc/postfix/master.cf, निम्नलिखित जोड़ें -oके बाद लाइनों submissionलाइन:
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
समय कॉन्फ़िगर करने के लिए सफाई के लिए सेवा एक uthenticated रों ubmissions। मैं ascleanupइसे छोटा और संरेखित रखने के लिए नाम चुनता हूं , लेकिन कोई भी नाम काम करता है। ऐसा करने के लिए, उसी फ़ाइल में क्लीनअप सेवा लाइन को डुप्लिकेट करें master.cf, लेकिन पहले फ़ील्ड का नाम बदलें और फ़िल्टर फ़ाइल का चयन करने के लिए एक नया विकल्प जोड़ें:
cleanup unix n - y - 0 cleanup
ascleanup unix n - y - 0 cleanup
-o header_checks=pcre:/etc/postfix/header_checks_submission
( pcreटेबल के उपयोग postfix-pcreको डेबियन पर स्थापित करने की आवश्यकता होती है , जो डायनामिकैप्स.एफएफ फ़ाइल को अपडेट करने का स्वचालित रूप से ध्यान रखेगा। इसके लिए और परिवर्तनों की आवश्यकता नहीं है।)
अंतिम टुकड़ा वास्तविक फ़िल्टर कॉन्फ़िगरेशन है /etc/postfix/header_checks_submission। आप संभावित रूप से कुछ का उपयोग कर सकते हैं जैसे:
/^Received: .*/ IGNORE
जो पूर्ण प्राप्त हेडर लाइन को हटा देगा, लेकिन इसके बजाय आप from helo.host (reverse.host.name [192.0.2.1])अन्य जानकारी को संरक्षित करते हुए सिर्फ भाग को छोड़ सकते हैं :
/^Received: from [^ ]+ \([^ ]+ \[[IPv0-9a-f:.]+\]\)\s+(.* \(Postfix\) with .+)$/ REPLACE Received: $1
यदि आपने mail_nameविकल्प बदला है , तो Postfixअपने कॉन्फ़िगरेशन से मिलान करने के लिए शब्द बदलें । (यह पैटर्न पोस्टफ़िक्स सोर्स कोड, smtpd / smtpd.c के आधार पर सटीक है ।)
मैंने डेबियन बस्टर पर 3.4.7-0 + deb10u1 पोस्टफिक्स के साथ इसका परीक्षण किया। एक ही दृष्टिकोण के साथ एक और महान विवरण के लिए, पोस्टफिक्स के साथ ईमेल भेजते समय देखें कि मैं प्राप्त हेडर में प्रेषक का आईपी और उपयोगकर्ता नाम कैसे छिपा सकता हूं?
उपरोक्त संशोधन के साथ, निम्नलिखित को निम्न में बदल दिया गया है 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)