मानक समाधान शीर्षलेख_चेक विकल्प का उपयोग करना है। यह काम करेगा , हालांकि, यदि हम आवक और जावक (जैसा कि यह करेंगे) सभी मेल पर प्राप्त लाइनों को फ़िल्टर करते हैं, तो हम संभावित रूप से हमें भेजे गए मेल पर प्राप्त हेडर खो सकते हैं, जो समस्या निवारण के लिए महत्वपूर्ण हो सकता है। इस समस्या को हल करने के लिए, हम header_checksकेवल उस मेल पर लागू होंगे जो संभवतः हमारे लिए नहीं भेजा जा सकता था - मेल जिसे सबमिशन पोर्ट पर भेजा गया था (आप सबमिशन पोर्ट का उपयोग कर रहे हैं , आप नहीं हैं? )।
यह पोस्ट बताती है कि header_checksविशेष रूप से सबमिशन पोर्ट पर कैसे लागू किया जाए। हमें जो करने की आवश्यकता है वह सबमिशन सेवा के लिए क्लीनअप_सर्विस_नाम विकल्प को पास करना है ताकि हम एक नई सफाई सेवा, "सबक्लीनअप" स्थापित कर सकें। संबंधित अनुभाग इस तरह दिख सकता है:/etc/postfix/master.cf
submission inet n - - - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
-o cleanup_service_name=subcleanup
अब हम header_checksनई सफाई सेवा के विकल्प को पास कर सकते हैं । वह हिस्सा /etc/postfix/master.cfइस तरह दिख सकता है:
cleanup unix n - - - 0 cleanup
subcleanup unix n - - - 0 cleanup
-o header_checks=regexp:/etc/postfix/submission_header_checks
अंत में, हमें फ़ाइल बनाने की आवश्यकता है /etc/postfix/submission_header_checks, जिसमें रेगेक्स होगा जो प्राप्त हेडर लाइनों को फ़िल्टर करता है। फ़ाइल में आपने जो regex डाला है, वह इस बात पर निर्भर करता है कि आपने smtpd_sasl_authenticated_headerसेट किया है या नहीं।
यदि smtpd_sasl_authenticated_headerहै yes, तो उपयोग करें:
/^Received:.*\(Authenticated sender:/ IGNORE
अन्यथा, उपयोग करें:
/^Received:.*\(Postfix/ IGNORE
(डोमिनिक पी और ब्रायन ड्रयूरी को धन्यवाद कि दूसरे केस को कैसे हैंडल किया जाए।)
postmap submission_header_checks?