पोस्टफ़िक्स - होस्ट या डोमेन नहीं मिला


22

मैंने अभी अपने उबंटू में, स्थानीय नेटवर्क पर पोस्टफ़िक्स को स्थापित किया है।

इस नेटवर्क पर, मेरे पास एक एक्सचेंज सर्वर (डोमेन का उपयोग करके mail.example.com) है। मुझे एक स्थानीय पते पर एक ईमेल भेजने में समस्या थी adress@example.com:

relay=none, delay=0.01, delays=0.01/0/0/0, dsn=4.3.5, status=deferred 
(Host or domain name not found. Name service error for name=example.com
type=AAAA: Host found but no data record of requested type)

मैंने relay_domainअपने पोस्टफ़िक्स में इस समस्या को हल किया है main.cf:

relay_domains = example.com
transport_maps = hash:/etc/postfix/transport

और मेरे में /etc/postfix/transport:

example.com smtp:[mail.example.com]

अब मैं मेल भेज सकता हूं @example.com, और मैंने कुछ बड़ी कंपनियों के वेबमेल (जीमेल, याहू, हॉटमेल ...) का परीक्षण किया है। यह काम करता हैं। लेकिन मुझे यह त्रुटि अपने मित्रों पर क्यों मिली @example.com? मैं यह कैसे सुनिश्चित कर सकता हूं कि मुझे किसी अन्य डोमेन पर यह त्रुटि कभी नहीं मिले?

मेरा पोस्टफ़िक्स कॉन्फ़िगरेशन है:

postconf -n

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = SRVWEB, localhost.localdomain, localhost
myhostname = SRVWEB
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relay_domains = mutuelle-var.fr
relayhost =
smtp_generic_maps = hash:/etc/postfix/generic
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
transport_maps = hash:/etc/postfix/transport

क्या आप पोस्टकॉन्फ़ के आउटपुट को प्रश्न में जोड़ सकते हैं?
ALex_hha

क्या आप ipv6 का उपयोग कर रहे हैं?
ALex_hha

मैंने अभी के लिए केवल ipv4 का उपयोग करने के लिए पोस्टफिक्स कॉन्फिगर को बदल दिया है। प्रतीक्षा करें और देखें ..
विन्सेन्ट LITUR

जवाबों:


33

मेल भेजते समय आपका सर्वर IPv6 का उपयोग करने की कोशिश कर रहा है। चूंकि mail.example.comएक AAAA- रिकॉर्ड नहीं है (जो कि A- रिकॉर्ड के समान है, लेकिन IPv6 के लिए), जो काम नहीं कर रहा है।

यदि आप चाहते हैं कि पोस्टफ़िक्स IPv6 का उपयोग कभी न करें, तो आप इसे कॉन्फ़िगर फ़ाइल में बदल सकते हैं, जैसा कि पोस्टकॉन्फ़ (5) मैन पेज में बताया गया है:

When IPv6 support is enabled via the inet_protocols parameter,  Post-
fix will do DNS type AAAA record lookups.

When  both IPv4 and IPv6 support are enabled, the Postfix SMTP client
will attempt to connect via IPv6 before attempting to use IPv4.

Examples:

inet_protocols = ipv4
inet_protocols = all (DEFAULT)
inet_protocols = ipv6
inet_protocols = ipv4, ipv6

यदि आप इसे केवल इस डोमेन के लिए बदलना चाहते हैं, तो पढ़ने के लिए अपना परिवहन मानचित्र बदलें

example.com smtp-ipv4:[mail.domain.com]

इस स्पष्टीकरण के लिए धन्यवाद! मैंने फ्रेंच में एक डॉक्यूमेंटेशन पढ़ा जिसमें कहा गया था कि ipv4 DEFAULT कॉन्फ़िगरेशन है। मैंने अभी ipv4 डाला है, और मैंने पोस्टफिक्स को फिर से लोड किया है, काम करने लगता है। एक बार फिर धन्यवाद !
विंसेंट LITUR

यह इस बात पर निर्भर करता है कि आप पोस्टफिक्स के किस संस्करण का उपयोग कर रहे हैं - मुझे याद नहीं है कि कौन से संस्करण में चूक हुई है, लेकिन मुझे पता है कि उन्होंने इसे कम से कम एक बार बदल दिया है।
जेनी डी का कहना है कि मोनिका

7
यह वह कनेक्शन नहीं है जो विफल हो जाता है, लेकिन DNS लुकअप जो इसे पहले देता है। जब मेरे पास inet_protocols = allयह होता है Aकि एक AAAAलुकअप विफल होने पर लुकअप का प्रयास नहीं करता है, जो कि व्यर्थ लगता है। साथ ही, यदि आप इस मान को बदलते हैं, तो आपको पोस्टफ़िक्स को पुनः आरंभ करना होगा, न कि केवल पुनः लोड करना।
सांच्रो

0

मेरे लिए काम करने वाला सरल पोस्टफिक्स कॉन्फ़िगरेशन।

/etc/postfix/main.cf

myhostname = localhost.testing.com
myorigin = testing.com
relayhost =
inet_protocols = ipv4
inet_interfaces = loopback-only
mydestination =

-5

/Etc/postfix/main.cf में निम्नलिखित परिवर्तन से मेरे लिए समस्या हल हो गई।

inet_protocols = ipv6 

उपरोक्त को बदलें

inet_protocols = all

9
स्वीकृत उत्तर के लिए बहुत कुछ नहीं जोड़ता है, और, स्पष्ट रूप से, जेनीडी के पद के बिना बेकार है जो स्पष्टीकरण प्रदान करता है
हिरण हंटर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.