पोस्टफ़िक्स: वास्तव में अन्य डोमेन क्या हैं?


12

मुझे लगा कि मैं "अलियास डोमेन" समझ गया हूँ क्योंकि यह दूसरे डोमेन के लिए केवल एक उपनाम है! इसलिए जब मैंने "info@main.com" जैसा एक मेलबॉक्स स्थापित किया, और "main.com" के लिए एक डोमेन उपनाम के रूप में "alias.com" जोड़ें, तो पता "info@alias.com" भी काम करेगा ... लेकिन नहीं !

इसलिए, मैंने ये डोमेन जोड़े हैं:

  • main.com
  • alias.com

मैंने यह मेलबॉक्स बनाया है:

  • info@main.com

फिर मैंने इन अन्य डोमेन को मैप किया:

  • alias.com => main.com

और फिर जब मैं info@alias.com पर एक मेल भेजता हूं तो मुझे यह त्रुटि मिलती है:

Recipient address rejected: User unknown in virtual mailbox table (state 13).

मैं हर डोमेन के लिए एक उपनाम बनाना नहीं चाहता, क्योंकि मेरे पास कुछ है। मैं वाइल्डकार्ड का उपयोग नहीं करना चाहता (जैसे कि जानकारी @ *) क्योंकि अन्य डोमेन भी हैं जो एलियास के नहीं हैंmain.com

तो ... ये वास्तव में क्या हैं?


मुझे वही उम्मीद थी और अभी भी समझ में नहीं आया कि ऐसा क्यों नहीं है।
जोश एम।

जवाबों:


4

स्पष्टीकरण प्रलेखन में है: http://www.postfix.org/VIRTUAL_README.html#virtual_ali.html

आप "उर्फ मेलबॉक्स" उर्फ ​​virtual_mailbox_alias और virtual_mailbox_maps चाहते हैं, लेकिन "अन्य डोमेन" के बारे में बात करते हैं: http://www.postfix.org/ADDRESS_CLASS_README.html#virtual_upas_class


3
मुझे डॉक्स की समझ नहीं हो सकती है - आपके पास किसी भी मेलबॉक्स को domain1.comअन्य नाम कैसे है ? <mailbox>@domain2.com
जोश एम।

2
@JoshM। आप virtual_alias_mapsप्रपत्र की प्रविष्टि के साथ हैश तालिका का उपयोग कर सकते हैं @domain1.com @domain2.com। विवरण के लिए मेरा उत्तर देखें।
सैम हैन्स

12

जोड़ने alias.comके लिए virtual_alias_domainsसही दिशा में पहला कदम है, लेकिन यह सिर्फ पोस्टफिक्स बताता है कि आप अन्य नामों के लिए उस डोमेन का उपयोग करना चाहते हैं। यह नहीं कहता कि उपनाम क्या होना चाहिए। उसके लिए, आपको एक आभासी उपनाम मानचित्र का उपयोग करने की आवश्यकता है।

सबसे पहले, इस तरह से कुछ जोड़ें main.cf:

virtual_alias_domains = alias.com
virtual_alias_maps = hash:/etc/postfix/virtual

जोड़ना virtual_alias_mapsआपको एक फ़ाइल ( /etc/postfix/virtual) देता है जिसका उपयोग वर्चुअल उपनाम नक्शे के रूप में किया जाता है। लेकिन आप उस फाइल में क्या डालते हैं? आभासी (5) के अनुसार :

पोस्टमैप (1) कमांड के लिए इनपुट प्रारूप निम्नानुसार है:

  pattern address, address, ...

जब पैटर्न मेल पते से मेल खाता है, तो उसे संबंधित पते से बदल दें।

तथा

अनुक्रमित फ़ाइलों जैसे डीबी या डीबीएम, या एनआईएस, एलडीएपी या एसक्यूएल जैसे नेटवर्क तालिकाओं से देखने के साथ, प्रत्येक उपयोगकर्ता @ डोमेन क्वेरी नीचे बताए अनुसार क्वेरी पैटर्न का एक क्रम उत्पन्न करता है। प्रत्येक क्वेरी पैटर्न को अगले क्वेरी पैटर्न की कोशिश करने से पहले प्रत्येक निर्दिष्ट लुकअप टेबल पर भेजा जाता है, जब तक कि एक मैच नहीं मिलता है।

...

@domain address, address, ...

पता करने के लिए डोमेन में अन्य उपयोगकर्ताओं के लिए पुनर्निर्देशित मेल।

तथा

लुकअप परिणाम पता पुनर्लेखन के अधीन होता है: जब परिणाम का रूप होता है @otherdomain, तो परिणाम उसी उपयोगकर्ता में हो जाता है otherdomain। यह केवल बहु-पता लुकअप परिणाम में पहले पते के लिए काम करता है।

इसलिए, इसे डालने से /etc/postfix/virtualआपको जो भी चाहिए, उस पूरे डोमेन को प्राप्त कर लेंगे:

# map any <user>@alias.com to the matching <user>@main.com
@alias.com     @main.com

फिर, चूंकि वह फ़ाइल एक हैश तालिका है, आपको चलाने की आवश्यकता है postmap( स्पष्टीकरण , मैनपेज ):

postmap /etc/postfix/virtual

आप में आभासी डोमेन के बारे में अधिक जानकारी मिल सकती पोस्टफिक्स वर्चुअल डोमेन विधिपत्र और में उपनाम के बारे में पोस्टफिक्स पता विधिपत्र नए सिरे से लिखना


इसलिए, PostfixAdmin इंटरफ़ेस में एक बग है , क्योंकि इंटरफ़ेस ( edit.php?table=aliasdomain) उपयोगकर्ता को यह कहने में विफल रहता है कि वास्तव में कोई अन्य तब नहीं होगा जब इसे सक्षम करने के रूप में चिह्नित किया जाएगा।
पीटर क्रस

2
मैं यह नहीं कहूंगा कि यह एक बग है, बिल्कुल, क्योंकि यह वास्तव में एक आभासी उपनाम डोमेन को कॉन्फ़िगर करता है। इसके बजाय, मुझे संदेह है कि PostfixAdmin आपसे यह जानने की उम्मीद करता है कि Postfix वर्चुअल alias डोमेन क्या हैं, और आपको उन्हें कुछ भी करने के लिए वास्तविक उपनाम जोड़ने की आवश्यकता है। यह बेहतर होगा यदि यह आपको बताए कि, हालांकि।
सैम हैन्स 12

1

@ जोश एम।

मुझे नहीं पता कि यह सही तरीका है और / या अच्छा अभ्यास है लेकिन मैं कुछ इस तरह का उपयोग कर रहा हूं:

virtual_alias_maps = regexp:/etc/postfix/domain_rewriting pgsql:/etc/postfix/pgsql/     virtual_alias_maps.cf

$ cat /etc/postfix/domain_rewriting 
/^(.*)@domain1.com$/     ${1}@domain2.com

1
हालांकि बिल्कुल गलत नहीं है (यह वही होगा जो आप उम्मीद करते हैं), रेगेक्स टेबल का उपयोग करना @domain1.com @domain2.comसिंटैक्स के साथ हैश तालिका का उपयोग करने की तुलना में कम कुशल है जिसे मैंने अपने उत्तर में विस्तृत किया है।
सैम हैन्स 12

1

यह मेरे 'सम-हैन्स' के उत्तर का संक्षिप्त रूप है (जो मेरे लिए काम करता है)

अपने virtual_alias_maps में जोड़ें:

@from.domain <tab> @to.domain

कमांड लाइन में करें:

 postmap /path/to/yourvirtualalismapsfile

अपने main.cf फ़ाइल में जोड़ें:

virtual_alias_domains : from.domain

virtual_alias_domains पोस्टफ़िक्स को बताता है कि मेलबॉक्स के सभी पते जो मेलबॉक्स के रूप में हैं #from.domain सभी उपनाम हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.