पोर्ट 587 के माध्यम से ईमेल जीमेल (smtp.gmail.com) भेजने / रिले करने के लिए पोस्टफिक्स को कॉन्फ़िगर करें


9

सेंटोस 5.4 का उपयोग, पोस्टफिक्स के साथ। मैं कर सकता हूँ a

mail foo@gmail.com 
subject: blah
 test
.
Cc:

और संदेश जीमेल को भेजा जाता है, लेकिन यह स्पैम फ़ोल्डर में रहता है, जिसकी उम्मीद की जानी है।

मेरा लक्ष्य ईमेल संदेश उत्पन्न करने में सक्षम होना है, और उन्हें नियमित इनबॉक्स में दिखाई देना है! जैसा कि मैं पोस्टफिक्स / जीमेल को समझता हूं, पोर्ट 587 का उपयोग करके प्रमाणित / वैध उपयोगकर्ता के माध्यम से मेल भेजने / रिले करने के लिए पोस्टफिक्स को कॉन्फ़िगर करना संभव है, जो अब मेल को स्पैम के रूप में नहीं देखा जाएगा।

मैंने 'नेट' से अलग-अलग साइटों / लेखों के आधार पर कई पैरामीटर आज़माए हैं, जिनमें कोई भाग्य नहीं है। कुछ लेख, वास्तव में अन्य लेखों के साथ संघर्ष करते प्रतीत होते हैं! मैं भी इस पर stacflow पोस्टिंग पर देखा है, लेकिन मैं अभी भी कुछ याद कर रहा हूँ ... इसके अलावा IRC (Centos / Postfix) पर कुछ लोगों से बात की और अभी भी प्रश्न हैं ..

इसलिए, मैं एक बार फिर से सर्वरफॉल्ट की ओर मुड़ रहा हूं!

यदि कोई ऐसा व्यक्ति है जो इसे पूरा करने में कामयाब रहा है, तो क्या आप अपने main.cf, sasl-passwd, और किसी भी अन्य फाइल को पोस्ट करने का मन करेंगे जिसे आप इस कार्य को प्राप्त करने के लिए उपयोग करते हैं! यदि मैं आपकी कॉन्फिग फाइलों की समीक्षा कर सकता हूं, तो मैं उम्मीद कर सकता हूं कि मैंने कहां खराब किया है, और यह पता लगा सकता हूं कि समस्या को कैसे ठीक किया जाए।

इसे पढ़ने के लिए धन्यवाद, और आपके द्वारा प्रदान की जाने वाली कोई भी सहायता / संकेत!

पी एस, अगर कोई स्टैकफ्लो पोस्टिंग है जो इस बारे में बोलती है कि मुझे याद किया जा सकता है, तो इसे मुझे इंगित करने के लिए स्वतंत्र महसूस करें!

टॉम

जवाबों:


16

हालांकि मैंने एक प्रदाता के माध्यम से प्रस्तुत करने की कोशिश नहीं की है जो कि प्रस्तुत पोर्ट (587) का उपयोग करके संभव है। पोस्टफ़िक्स को रिले में सक्षम करने के लिए आपको अपनी /etc/postfix/main.cfकॉन्फ़िगर फ़ाइल में कुछ संशोधनों का उपयोग करने और बनाने के लिए प्रमाणीकृत क्रेडेंशियल्स के साथ एक फ़ाइल सेटअप करने की आवश्यकता होगी ।

पहला है प्रमाणीकरण क्रेडेंशियल। इसके लिए मैं बस /etc/postfix/sasl_passwdउसी का उपयोग करता हूं जिसे मैं टेम्पलेट का उपयोग करके उपयुक्त पंक्ति में जोड़ता हूं:

smtp.provider.com    smtp_user:smtp_passwd

आप यह सुनिश्चित करना चाहते हैं कि यह फ़ाइल सुरक्षित है इसलिए मैं root:rootस्वामित्व की 0600अनुमति देता हूं और इस पर अनुमतियाँ निर्धारित की जाती हैं। फिर आप हैश मैप संस्करण को रूट के रूप में बनाने के लिए निम्न को चलाना चाहते हैं।

postmap hash:/etc/postfix/sasl_passwd

इसके साथ ही आपका ध्यान इस ओर जाता है कि /etc/postfix/main.cfआपको पहले से तय किए गए कुछ मान मिल सकते हैं, इसलिए आपको उन्हें तदनुसार बदलना होगा लेकिन महत्वपूर्ण विवरण इस प्रकार हैं:

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
smtp_tls_security_level = may

मेल भेजने पर प्रमाणित करने के लिए ये पोस्टफिक्स को sasl_passwd फ़ाइल का उपयोग करने में सक्षम करेगा। फिर आपको पोस्टफिक्स को बताने की आवश्यकता होगी कि यह विन्यास को जोड़कर मेल भेजने के लिए प्रदाता का उपयोग करना चाहिए

relayhost = smtp.provider.com:port

यदि आप निर्दिष्ट नहीं करते हैं तो डिफ़ॉल्ट रूप से पोस्टफिक्स पोर्ट 25 को मानता है और यह मेरे लिए अतीत में काम कर चुका है। आपके अनुरोधित सेटअप के साथ आपको पोर्ट के रूप में 587 निर्दिष्ट करने की आवश्यकता होगी। इसके साथ ही मुझे यकीन नहीं है कि अगर आपको sasl_passwd प्रविष्टि को smtp.provider.com:587बस के बजाय संशोधित करने की आवश्यकता होगी, smtp.provider.comक्योंकि मैंने इसे एक गैर-डिफ़ॉल्ट पोर्ट पर करने की कोशिश नहीं की है, तो इससे पहले कि आप इसे अपने लिए प्रयास करें।

ये कॉन्फिगरेशन स्टेप अकेले ही एक सेंट्रल मेल सर्वर के माध्यम से मेरे द्वारा बनाए जाने वाले कई सर्वर पर मेल फॉरवर्डिंग को हैंडल कर रहे हैं।

पूरी तरह से काम करने वाले उदाहरण को शामिल करने के लिए अद्यतन किया गया

यह वास्तव में पता चलता है कि मैंने अपने Ubuntu (Debian- आधारित) लैपटॉप को अपने ईमेल प्रदाता (नॉट-जीमेल) पर पोर्ट 587 का उपयोग करने के लिए कॉन्फ़िगर किया है क्योंकि मेरा DSL प्रदाता आउटबाउंड पोर्ट 25 ट्रैफिक को ब्लॉक करता है। मैंने इसके बजाय मेल भेजने के लिए अपने एक जीमेल खाते का उपयोग करने के लिए अपडेट किया। एकमात्र बदलाव जिसकी मुझे जरूरत थी

मैं निजी डेटा को अस्पष्ट बना रहा हूँ, लेकिन अन्यथा चिपकाने के रूप में किया जाता है पोस्टफिक्स के लिए विन्यास काम कर रहे।

पहले हमारे पास है /etc/postfix/main.cf:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
#smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
#smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
#smtpd_use_tls=yes
#smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tls_security_level = may

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = solitare, localhost.localdomain, , localhost
relayhost = smtp.gmail.com:587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =

अगला हमारे पास है /etc/postfix/sasl_passwd:

smtp.gmail.com:587  myusername@gmail.com:mypassword

मैंने फिर निम्नलिखित SMTP सत्र चलाया:

jbouse@solitare:~$ telnet localhost 25
Trying 127.0.0.1...
Connected to solitare.
Escape character is '^]'.
220 example.com ESMTP Postfix (Ubuntu)
helo localhost
250 example.com
mail from: jbouse@example.com
250 2.1.0 Ok
rcpt to: myotherusername@gmail.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
To: myotherusername@gmail.com
From: jbouse@example.com
Subject: Testing Postfix smarthost via Gmail
this is just a test
.
250 2.0.0 Ok: queued as 6269B280191
quit
221 2.0.0 Bye
Connection closed by foreign host.

फिर मैंने अपने myotherusernameजीमेल अकाउंट में लॉग इन किया और मैसेज पढ़ा:

Return-Path: <myotherusername@gmail.com>
Received: from example.com (mydslproviderhostname.net [x.x.x.229])
        by mx.google.com with ESMTPS id 6sm401663ywd.11.2010.03.04.19.19.58
        (version=TLSv1/SSLv3 cipher=RC4-MD5);
        Thu, 04 Mar 2010 19:19:58 -0800 (PST)
Sender: "Jeremy Bouse" <myotherusername@gmail.com>
Received: from localhost (solitare [127.0.0.1])
    by example.com (Postfix) with SMTP id 6269B280191
    for <myotherusername@gmail.com>; Thu,  4 Mar 2010 22:17:39 -0500 (EST)
To: myotherusername@gmail.com
From: jbouse@example.com
Subject: Testing Postfix smarthost via Gmail
Message-Id: <20100305031745.6269B280191@example.com>
Date: Thu,  4 Mar 2010 22:17:39 -0500 (EST)

this is just a test

अब अपने 13 साल दिखाए जाने के रूप में एक सिस्टम प्रशासक बर्बाद नहीं हुआ है, मैंने अपने लैपटॉप से ​​जीमेल के माध्यम से ईमेल भेजने की आवश्यकता है, बिना किसी स्व-हस्ताक्षरित x.509 प्रमाण पत्र को उत्पन्न करने की कोई आवश्यकता नहीं है क्योंकि अन्य आपको बताएंगे। Postfix को बताने के लिए हो सकता/etc/postfix/main.cf है कि smtp_tls_security_level सेटिंग के अतिरिक्त महत्वपूर्ण यह है कि TLS का समर्थन करने पर किसी अन्य MTA से कनेक्ट करते समय STARTTLS कमांड जारी करना ठीक है । यदि आप smtp_tls_security_level सेटिंग भूल जाते हैं, तो आप इनकी तर्ज पर अपनी प्रविष्टि देख सकते हैं :/var/log/mail.log

Mar  4 22:10:58 solitare postfix/smtp[19873]: 20E07280191: to=<myotherusername@gmail.com>, relay=smtp.gmail.com[74.125.47.109]:587, delay=38, delays=38/0.03/0.08/0.01, dsn=5.7.0, status=bounced (host smtp.gmail.com[74.125.47.109] said: 530 5.7.0 Must issue a STARTTLS command first. 20sm399188ywh.48 (in reply to MAIL FROM command))

हालाँकि इसके ठीक से सेट होने पर आपको कुछ लाइनों के साथ देखना चाहिए:

Mar  4 22:20:00 solitare postfix/smtp[20313]: 6269B280191: to=<myotherusername@gmail.com>, relay=smtp.gmail.com[74.125.47.109]:587, delay=141, delays=110/29/0.36/1.9, dsn=2.0.0, status=sent (250 2.0.0 OK 1267759200 6sm401663ywd.11)

हाय जेरेमी ... उत्तर के लिए धन्यवाद। कुछ प्रश्न। मैंने नेट पोस्टिंग देखी है जिसमें smtpd _... params है .. मुझे लगता है मुझे उन की ज़रूरत नहीं है। इसके अलावा, कुछ लेखों में टीएसएल सेर्ट्स का उल्लेख / उल्लेख है .. क्या मुझे उन लोगों से निपटने की आवश्यकता है? धन्यवाद!!
टॉम स्मिथ

smtpd _... params एक सर्वर के रूप में पोस्टफिक्स के लिए हैं ... एक smarthost पोस्टफ़िक्स के लिए रिले के मामले में एक क्लाइंट के रूप में काम कर रहा है जो smtp _... params का उपयोग करता है।
जेरेमी बोस

1
ग्रेवीफेस, आप स्पष्ट रूप से नहीं जानते कि आप किस बारे में बात कर रहे हैं। मेरा सुझाव है कि आप एसएमटीपी और टीएलएस / एसएसएल / एक्स 509 पर थोड़ा पढ़ लें क्योंकि आपके पास विषय वस्तु पर ज्ञान की कमी है।
जेरेमी बोस

1
felipe-alfaro.org/blog/2009/05/10/… ... दूसरा पैराग्राफ मेरी अपनी टिप्पणियाँ देता है ...
जेरेमी बोस

1
यह स्पष्ट करने के लिए धन्यवाद, जेरेमी। मैंने हमेशा सोचा था कि यह थोड़ा अजीब था कि आपको अपने प्रमाण पत्र पर हस्ताक्षर करना था, लेकिन मेरे जल्दबाजी में (और कई लेखों / ट्यूटोरियल में मैंने देखा है) वे सभी ऐसा करने के लिए कहते थे। जियो और सीखो।
ग्रेवीफेस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.