सवाल विकास सर्वर पर पोस्टफिक्स, मेल को केवल एक डोमेन पर भेजने की अनुमति दें


हमारे पास हमारे विकास सर्वर पर पोस्टफिक्स है, और मैं चाहता हूं कि यह हमारे डोमेन पर न केवल अन्य डोमेन के लिए मेल भेज सके, बाहरी उपयोगकर्ताओं को हमारे विकास सर्वर से गलती से मेल प्राप्त करने से रोक सके।

मैंने दस्तावेज़ों के माध्यम से खोज की, कई चीजों की कोशिश की लेकिन यह अभी भी सभी डोमेन को भेज रहा है ...


8
2017-12-14 15:41


मूल




जवाब:


परिवहन (5) नक्शे को पोस्टफिक्स द्वारा ईमेल कैसे रूट किया जाता है, इसे फिर से परिभाषित करने के लिए उपयोग किया जाता है।

  • निम्न पंक्ति /etc/postfix/main.cf में जोड़ें:

transport_maps = hash:/etc/postfix/transport

  • इस सामग्री के साथ नई फ़ाइल / आदि / पोस्टफिक्स / परिवहन जोड़ें:

.example.com : example.com : * discard:

Example.com को उस डोमेन के साथ बदलें जहां आपके मेलसर्वर को अभी भी मेल भेजना चाहिए। यदि आपको सबडोमेन की परवाह नहीं है तो पहली पंक्ति को हटा दें।

फ़ाइल को संपादित करने के बाद हैश को भूलना न भूलें postmap (1) और पोस्टफिक्स को फिर से लोड करें ताकि परिवर्तन प्रभावी हो सकें

# postmap /etc/postfix/transport && postfix reload


4
2018-05-05 05:00





आप प्राप्तकर्ताओं को मानक के साथ आसानी से प्रतिबंधित कर सकते हैं smtpd_recipient_restrictions या अधिक सटीक check_recipient_access

बस एक बनाएँ पहुँच (5) तालिका /etc/postfix/access निम्नलिखित सामग्री के साथ (example.com वह डोमेन होने के नाते आप मेल भेजने की अनुमति देना चाहते हैं):

example.com    OK

आप केवल कुछ विशिष्ट पते की अनुमति भी दे सकते हैं:

user1@example.com    OK
user2@example.com    OK

फ़ाइल को संपादित करने के बाद हैश को भूलना न भूलें postmap (1):

# postmap /etc/postfix/access

अब अपने मुख्य.cf में निम्नलिखित प्राप्तकर्ता प्रतिबंध डालें:

smtpd_recipient_restrictions = 
    hash:/etc/postfix/access
    reject

और पोस्टफिक्स पुनः लोड करें:

postfix reload

उसके बाद, अगर यह काम करता है तो इसका परीक्षण करें


6
2018-02-28 08:43



यह SMTP के माध्यम से भेजे गए मेल के लिए काम करेगा, नहीं / usr / lib / sendmail कमांड के माध्यम से और स्थानीय प्रक्रियाएं दोनों ही कर सकती हैं। ऐसा लगता है कि 'valid_submit_users' सेटिंग का उपयोग स्थानीय सबमिशन को प्रेषण / पोस्टड्रॉप से ​​अवरुद्ध करने के लिए किया जा सकता है, तो smtpd प्रतिबंध पर्याप्त होंगे। - Jacek Konieczny


तो अगर कोई इस पर ठोकर खाता है जैसा मैंने किया था: जवाब वास्तव में है header_checks और यह इस प्रकार काम करता है:

  • निम्नलिखित पंक्ति जोड़ें /etc/postfix/main.cf:

    header_checks = regexp:/etc/postfix/header_checks
    
  • नई फाइल जोड़ें /etc/postfix/header_checks इस सामग्री के साथ:

    /^To:.*@allowed-domain.com/  DUNNO
    /^To:.*@/   REDIRECT redirect@example.com
    

बदलने के allowed-domain.com डोमेन के साथ आपके मेलसेवर को अभी भी मेल भेजना चाहिए। बदलने के redirect@example.com ईमेल पते के साथ अन्य सभी ईमेल को रीडायरेक्ट किया जाना चाहिए।

यदि आपको एकाधिक डोमेन की अनुमति देने की आवश्यकता है, तो पहली पंक्ति इस तरह दिखनी चाहिए:

/^To:.*@(allowed-domain.com|another-domain.com)/  DUNNO

पुनर्निर्देशित करने के बजाय आप अन्य सभी मेलों को सरल छोड़ सकते हैं। ऊपर की दूसरी पंक्ति को बदलें:

/^To:.*@/   DISCARD No outgoing mails allowed

स्पष्टीकरण:

  • पोस्टफिक्स मेल हेडर के माध्यम से एक-एक करके जाता है।
  • प्रत्येक हेडर लाइन के खिलाफ मिलान हो जाता है header_checks फ़ाइल लाइन-दर-रेखा।
  • यदि यह पहली पंक्ति से मेल खाता है (To: अनुमत डोमेन शामिल है), यह अगली हेडर लाइन पर जाता है और शीर्ष पर शीर्षलेख जांच फिर से शुरू करता है। चूंकि कोई अन्य लाइन मेल नहीं खाती है, इसका मतलब है कि मेल डिलीवर हो जाता है।
  • यदि यह दूसरी पंक्ति से मेल खाता है (To: इसमें एक और बाहरी ईमेल पता है), यह मेल को रीडायरेक्ट करता है।

5
2018-02-07 11:26



ऐसा लगता है कि इस समस्या को हल किया गया है, शायद इसे हल के रूप में चिह्नित किया जाना चाहिए? (यह कम से कम मेरे लिए एक आकर्षण की तरह काम किया) - Sverre
किस बारे में Cc: तथा Bcc:? - Paul Tobias


आपने कोशिश की है header_checks (5)?


3
2017-12-14 17:57



नहीं, अब इसे जांच रहा है - datadevil