सवाल पोस्टफिक्स 'रिले एक्सेस अस्वीकृत' को कैसे सही करें?


आज सुबह, सुरक्षा प्रमाणपत्र में नाम विसंगति के साथ किसी समस्या को ठीक करने के लिए, मैंने सुझाए गए चरणों का पालन किया मेल सर्वर एसएसएल कैसे ठीक करें?, लेकिन अब, क्लाइंट से ईमेल भेजने का प्रयास करते समय (इस मामले में क्लाइंट विंडोज मेल है), मुझे निम्न त्रुटि मिलती है।

अस्वीकृत ई-मेल पता था   'Email@gmail.com'। विषय 'यह एक है   परीक्षा। ', खाता:' mail.domain.com ',   सर्वर: 'mail.domain.com', प्रोटोकॉल:   एसएमटीपी, सर्वर प्रतिक्रिया: '554 5.7.1   : रिले का उपयोग   इनकार किया ', पोर्ट: 25, सुरक्षित (एसएसएल): नहीं,   सर्वर त्रुटि: 554, त्रुटि संख्या:   0x800CCC79

संपादित करें: मैं अभी भी इस खाते से ईमेल पुनर्प्राप्त कर सकता हूं, और मैं उसी डोमेन पर अन्य खातों को ईमेल भेजता हूं। मैं सिर्फ हमारे डोमेन के बाहर प्राप्तकर्ताओं को ईमेल नहीं भेज सकता हूं।

मैंने टीएलएस को पूरी तरह से अक्षम करने की कोशिश की लेकिन कोई पासा नहीं, मुझे अभी भी वही त्रुटि मिलती है।

जब मैं फाइल की जांच करता हूं mail.log, मैं निम्नलिखित देखता हूं।

Jul 18 08:24:41 company imapd: LOGIN, user=user_name@domain.com, ip=[::ffff:111.111.11.11], protocol=IMAP
Jul 18 08:24:42 company imapd: DISCONNECTED, user=user_name@domain.com, ip=[::ffff:111.111.11.11], headers=0, body=0, rcvd=83, sent=409, time=1
Jul 18 08:25:19 company postfix/smtpd[29282]: connect from company.university.edu[111.111.11.11]
Jul 18 08:25:19 company postfix/smtpd[29282]: NOQUEUE: reject: RCPT from company.university.edu[111.111.11.11]: 554 5.7.1 <email@gmail.com>: Relay access denied; from=<user_name@domain.com> to=<email@gmail.com> proto=ESMTP helo=<UserPC>
Jul 18 08:25:19 company postfix/smtpd[29282]: disconnect from company.university.edu[111.111.11.11]
Jul 18 08:25:22 company imapd: DISCONNECTED, user=user_name@domain.com, ip=[::ffff:111.111.11.11], headers=13, body=142579, rcvd=3289, sent=215892, time=79

फ़ाइल main.cf इस तरह दिखता है:

#
# Postfix MTA Manager Main Configuration File;
#
# Please do NOT edit this file manually;
#

#
# Postfix directory settings; These are critical for normal Postfix MTA functionallity;
#

command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix

#
# Some common configuration parameters;
#

inet_interfaces = all
mynetworks = 127.0.0.0/8
mynetworks_style = host

myhostname = mail.domain.com
mydomain = domain.com
myorigin = $mydomain

smtpd_banner = $myhostname ESMTP 2.4.7.1 (Debian/GNU)
setgid_group = postdrop

#
# Receiving messages parameters;
#

mydestination = localhost, company 
append_dot_mydomain = no
append_at_myorigin = yes
transport_maps = mysql:/etc/postfix/transport.cf

#
# Delivering local messages parameters;
#

mail_spool_directory = /var/spool/mail
mailbox_size_limit = 0
mailbox_command = procmail -a "$EXTENSION"

biff = no

alias_database = hash:/etc/aliases

local_recipient_maps =

#
# Delivering virtual messages parameters;
#
virtual_mailbox_maps=mysql:/etc/postfix/mysql_virt.cf
virtual_uid_maps=mysql:/etc/postfix/uids.cf
virtual_gid_maps=mysql:/etc/postfix/gids.cf
virtual_mailbox_base=/usr/local/virtual
virtual_maps=mysql:/etc/postfix/virtual.cf
virtual_mailbox_domains=mysql:/etc/postfix/virtual_domains.cf


#
# SASL paramters;
#
smtp_use_tls = yes
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s

smtp_tls_CAfile = /etc/postfix/ssl/smptd.pem
smtp_tls_cert_file = /etc/postfix/ssl/smptd.crt
smtp_tls_key_file = /etc/postfix/ssl/smptd.key

smtpd_tls_CAfile = /etc/postfix/ssl/smptd.pem
smtpd_tls_cert_file = /etc/postfix/ssl/smptd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smptd.key

smtpd_sasl_auth_enable = yes

smtpd_sasl_security_options = noanonymous

smtpd_sasl_local_domain =

broken_sasl_auth_clients = yes

smtpd_sender_restrictions =
        permit_sasl_authenticated
        permit_mynetworks

smtpd_recipient_restrictions =
        permit_sasl_authenticated
        check_recipient_access hash:/etc/postfix/filtered_domains
        permit_mynetworks
        reject_unauth_destination

एक साइड नोट के रूप में, मेरा नियोक्ता क्लाइंट (थंडरबर्ड और आउटलुक) से हमारे स्थानीय नेटवर्क के भीतर और इसके बाहर से ईमेल भेजने में सक्षम होना चाहता है।


48
2017-07-18 14:59


मूल


आप स्वीकार क्यों नहीं करते? - Rook


जवाब:


टीएलएस सिर्फ smtp सत्र पर एन्क्रिप्शन को सक्षम बनाता है और सीधे प्रभावित नहीं करता है कि पोस्टफिक्स को संदेश रिले करने की अनुमति दी जाएगी या नहीं।

रिलेइंग अस्वीकार संदेश होता है क्योंकि smtpd_recipient_restrictions नियमों का मिलान नहीं किया गया था। संदेश को जाने की अनुमति देने के लिए उन स्थितियों में से एक को पूरा किया जाना चाहिए:

smtpd_recipient_restrictions =
    permit_sasl_authenticated
    check_recipient_access hash:/etc/postfix/filtered_domains
    permit_mynetworks
    reject_unauth_destination

उन नियमों को समझाने के लिए:

permit_sasl_authenticated

एसएएसएल के माध्यम से प्रमाणित प्रेषकों को अनुमति देता है। यह आपके नेटवर्क के बाहर उपयोगकर्ताओं को प्रमाणीकृत करना आवश्यक होगा जो आम तौर पर अवरुद्ध होते हैं।

check_recipient_access

इससे पोस्टफ़िक्स प्राप्तकर्ता पते के आधार पर नियमों के लिए / etc / postfix / filtered_domains में दिखाई देगा। (फ़ाइल नाम पर फ़ाइल नाम के आधार पर निर्णय लेना, शायद यह सिर्फ विशिष्ट डोमेन को अवरुद्ध कर रहा है ... यह देखने के लिए जांचें कि gmail.com वहां सूचीबद्ध है या नहीं?)

permit_mynetworks

यह मेजबान को आईपी पते से अनुमति देगा जो $ mynetworks में निर्दिष्ट आईपी श्रेणियों से मेल खाता है। आपके द्वारा पोस्ट किए गए main.cf में, $ mynetworks को 127.0.0.1 पर सेट किया गया था, इसलिए यह केवल सर्वर द्वारा जेनरेट किए गए ईमेल रिले करेगा।

उस कॉन्फ़िगरेशन के आधार पर, आपके मेल क्लाइंट को संदेशों को रिले करने की अनुमति देने से पहले SMTP प्रमाणीकरण का उपयोग करने की आवश्यकता होगी। मुझे यकीन नहीं है कि डेटाबेस एसएएसएल क्या उपयोग कर रहा है। यह /usr/lib/sasl2/smtpd.conf में निर्दिष्ट है संभवतः यह आपके वर्चुअल मेलबॉक्स के समान डेटाबेस का भी उपयोग करता है, इसलिए आपको अपने मेल क्लाइंट में SMTP प्रमाणीकरण सक्षम करने और सभी सेट होने में सक्षम होना चाहिए।


53
2017-07-22 20:59





smtpd_use_tls = no

आपने टीएलएस को अक्षम कर दिया है, इसलिए अब आपको इसे जोड़कर अपने स्थानीय नेटवर्क को अधिकृत करने की आवश्यकता है mynetworks। उदाहरण के लिए,

mynetworks = 192.168.1.0/24 127.0.0.0/8

यह केवल आपके स्थानीय नेटवर्क से भेजने को ठीक करेगा। अपने स्थानीय नेटवर्क से ईमेल भेजने के लिए, आपको टीएलएस प्रमाणीकरण काम करने की आवश्यकता होगी।


12
2017-07-18 15:47



मैंने smtpd_use_tls = yes सेट किया है क्योंकि हमें नेटवर्क से बाहर ईमेल भेजने में सक्षम होना चाहिए। हालांकि, समस्या बनी रहती है। - Noah Goodrich
Smppd_tls_loglevel को 3 तक बढ़ाएं और देखें कि लॉग में कुछ भी रोचक दिखाई देता है (और जब आप समाप्त कर लें तो उसे 1 या 0 तक नीचे छोड़ना याद रखें)। - pgs
साथ ही, smtp_use_tls को सेट करने का प्रयास करें (बाहरी ईमेल भेजने के लिए)। देख postfix.org/postconf.5.html#smtp_use_tls - pgs
-1 क्योंकि हर कोई टीएलएस अक्षम नहीं कर सकता है। - jgifford25
मैं यह नहीं कह रहा हूं कि उसे टीएलएस को अक्षम करना चाहिए; मैं कह रहा हूं कि चूंकि उसने इसे पहले ही अक्षम कर दिया है, इसलिए उसे अपने नेटवर्क स्थापित करने की जरूरत है। और यह कि पूर्ण समाधान टीएलएस फिर से काम करना है। - pgs


मुझे लगता है कि आप mydestination में domain.com याद करते हैं, क्योंकि डिफ़ॉल्ट relay_domains=$mydestination, ताकि आप लाइन को कॉन्फ़िगर कर सकें:

mydestinations = $mydomain, $myhostname, localhost, localhost.localdomain

या:

relay_domains = $mydomain

पोस्टफिक्स सर्वर को पुनरारंभ करना न भूलें (service postfix restart) हर बार जब आप पोस्टफिक्स conf फ़ाइल संपादित करते हैं।


6
2017-11-20 16:54



मेजबानों की सूची में "localhost, localhost.localdomain" जोड़ने के लिए + 1 (अक्सर कुछ प्रणालियों पर एक समस्या, यह स्पष्ट नहीं है कि यह दूसरों पर कोई मुद्दा क्यों नहीं है) - Iain Collins


मेरे पास Outlook में एक ही समस्या थी (कबूतर और पोस्टफिक्स बैकएंड के साथ) और मैंने समाधान की तलाश में दो दिन बिताए और मेरी कॉन्फ़िगरेशन फ़ाइलों को ट्वीव किया। मुझे बस इतना करना था कि Outlook में आउटगोइंग टैब में आउटगोइंग टैब में "प्रमाणीकरण की आवश्यकता है" और मेरे संदेश अब जीमेल को भेजे गए हैं। सेटिंग को कैसे ढूंढें इस पर विस्तृत निर्देश देखें http://support.bluetie.com/node/440


2
2018-05-10 22:29





यह समस्या मुझे थोड़ी देर के लिए परेशान कर रही थी। मैं server1.domain.com से server2.domain.com से कनेक्ट करने का प्रयास कर रहा था।

यहां बताया गया है कि मैंने इसे कैसे तय किया -

#/etc/postfix/main.cf
mydomain = server1.domain.com
myhostname = $mydomain
virtual_alias_maps = hash:/etc/postfix/virtual
alias_database = hash:/etc/postfix/virtual
myorigin = /etc/mailname
mydestination = localhost.localdomain localhost $mydomain
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

आपको यह सुनिश्चित करने की भी आवश्यकता है कि आपने सेट / etc / hosts और / etc / hostname को सही तरीके से सेट किया है और यह सुनिश्चित कर लें कि नेटवर्किंग परिवर्तनों के बाद आप निम्न को चलाएं -

sudo service networking restart

और पोस्टफिक्स कॉन्फ़िगरेशन में परिवर्तन के बाद निम्न

sudo service postfix reload

2
2018-04-16 01:40





मेरे लिए: मुझे जोड़ना पड़ा localhost सेवा मेरे mynetworks इस तथ्य के बावजूद 127.0.0.0/8 पहले से ही था तो, अब यह दिखता है:

mynetworks = 1.1.1.1/32, 127.0.0.0/8, localhost


0
2018-04-18 15:51