SMTP कॉन्फ़िगरेशन का संपूर्ण गाइड: Ports, Authentication, और Email Server Setup

साइबर सुरक्षा चित्रण जिसमें प्रमाणीकरण, शील्ड और लॉक आइकन वाला सुरक्षित सर्वर और सर्किट लाइनें हैं

SMTP कॉन्फ़िगरेशन आपके मेल सर्वर (या ईमेल क्लाइंट) को Simple Mail Transfer Protocol का उपयोग करके संदेश सही तरीके से भेजने के लिए सेट अप करने की प्रक्रिया है। अगर आप यह सही तरीके से करते हैं तो आपके ईमेल इनबॉक्स में पहुंचते हैं। गलत तरीके से करने पर आपको डिलीवरी विफलता, प्रमाणीकरण त्रुटियां, या संदेश स्पैम फोल्डर में चले जाते हैं। तीन चीजें जो आपको हर बार सही करनी चाहिए वे हैं: सही पोर्ट, सही एन्क्रिप्शन विधि, और काम करने वाले प्रमाणीकरण क्रेडेंशियल।

SMTP वास्तव में क्या करता है

SMTP वह प्रोटोकॉल है जिसका उपयोग आपका ईमेल क्लाइंट या एप्लिकेशन बाहर जाने वाले संदेशों को मेल सर्वर को सौंपने के लिए करता है, जो फिर उन्हें प्राप्तकर्ता की ओर भेजता है। यह केवल भेजने वाली ओर को संभालता है। ईमेल प्राप्त करना अलग प्रोटोकॉल द्वारा संभाला जाता है: IMAP (सिंक्रोनाइज़ेशन के लिए) या POP3 (डाउनलोड के लिए)।

जब आप "भेजें" दबाते हैं, तो आपका क्लाइंट SMTP सर्वर से TCP कनेक्शन खोलता है, प्रमाणित करता है, संदेश सौंपता है, और डिस्कनेक्ट करता है। सर्वर फिर उस संदेश को प्राप्तकर्ता के मेल सर्वर को देने का प्रयास करता है, उसी प्रोटोकॉल का उपयोग करके, गंतव्य के MX (मेल एक्सचेंज) DNS रिकॉर्ड को देखकर यह पता लगाता है कि इसे कहां भेजना है।

SMTP को RFC 5321 में परिभाषित किया गया है, जिसने मूल RFC 2821 को प्रतिस्थापित किया। स्पेक को समझने से मदद मिलती है जब आपको raw SMTP बातचीत को डीबग करने या सर्वर को शुरुआत से कॉन्फ़िगर करने की आवश्यकता होती है।

SMTP पोर्ट समझाया गया: 25, 465, और 587

किसी भी SMTP कॉन्फ़िगरेशन में आप तीन पोर्ट देखेंगे। प्रत्येक की एक विशिष्ट भूमिका है, और गलत पोर्ट का उपयोग करना ईमेल डिलीवरी विफलता के सबसे सामान्य कारणों में से एक है।

पोर्ट नाम एन्क्रिप्शन सामान्य उपयोग
25 SMTP कोई नहीं (या STARTTLS) सर्वर-से-सर्वर रिले (MTA से MTA)
465 SMTPS निहित SSL/TLS विरासत क्लाइंट सबमिशन (पुरानी एप्लिकेशन)
587 सबमिशन STARTTLS (स्पष्ट TLS) प्रमाणित क्लाइंट ईमेल सबमिशन

पोर्ट 25 बनाम 587: आपको कौन सा उपयोग करना चाहिए?

पोर्ट 25 मूल SMTP पोर्ट है, जिसे 1982 में परिभाषित किया गया था। इसे मेल सर्वर के बीच बातचीत के लिए डिज़ाइन किया गया था, अंत उपयोगकर्ताओं के लिए मेल सबमिट करने के लिए नहीं। अधिकांश ISP और क्लाउड प्रदाता स्पैम को रोकने के लिए विशेष रूप से आवासीय और साझा होस्टिंग IP से बाहर जाने वाले पोर्ट 25 को ब्लॉक करते हैं। अगर आप एक एप्लिकेशन चला रहे हैं जो ईमेल भेजता है, तो पोर्ट 25 का उपयोग करने का प्रयास लगभग निश्चित रूप से विफल होगा।

पोर्ट 587 क्लाइंट या एप्लिकेशन से ईमेल सबमिट करने के लिए सही विकल्प है। इसे RFC 6409 में समर्पित "संदेश सबमिशन" पोर्ट के रूप में मानकीकृत किया गया था। इसके लिए STARTTLS की आवश्यकता है, जिसका अर्थ है कि कनेक्शन अनएन्क्रिप्टेड शुरू होता है और फिर किसी भी क्रेडेंशियल को भेजने से पहले TLS में अपग्रेड होता है। यह वह है जो Gmail, Outlook, और लगभग हर आधुनिक ईमेल प्रदाता आपसे उपयोग करने की अपेक्षा करता है।

कभी भी असुरक्षित कनेक्शन पर क्रेडेंशियल न भेजें। अगर आपका SMTP क्लाइंट STARTTLS विफल होने पर सादे पाठ पर वापस आता है, तो यह आपके यूजरनेम और पासवर्ड को स्पष्ट रूप से प्रेषित करेगा। हमेशा अपने क्लाइंट को TLS की आवश्यकता करने के लिए कॉन्फ़िगर करें और कनेक्शन को अस्वीकार करें यदि एन्क्रिप्शन स्थापित नहीं किया जा सकता।

SMTP पोर्ट 465: SSL विरासत पोर्ट

पोर्ट 465 का एक असामान्य इतिहास है। इसे 1997 में SMTPS (SSL पर SMTP) को संक्षेप में सौंपा गया था, फिर 1998 में यह असाइनमेंट रद्द कर दिया गया जब पोर्ट 587 पर STARTTLS पसंदीदा दृष्टिकोण बन गया। आधिकारिक रूप से हटाए जाने के बावजूद, कई मेल सर्वर इसे समर्थन करते रहे, और बाद में इसे IANA द्वारा एक अलग उद्देश्य के लिए फिर से पंजीकृत किया गया।

व्यावहारिक रूप से, अधिकांश प्रदाता पोर्ट 465 पर निहित SSL/TLS का उपयोग करके कनेक्शन स्वीकार करते रहते हैं। इसका अर्थ है कि TLS पहले बाइट से पूरे कनेक्शन को लपेटता है, न कि STARTTLS की तरह हैंडशेक के बीच में अपग्रेड करता है। कुछ पुरानी एप्लिकेशन और हार्डवेयर (कुछ नेटवर्क प्रिंटर, विरासत CRM) केवल पोर्ट 465 को समर्थन करते हैं, इसलिए यह उन मामलों में उपयोगी रहता है।

  • पोर्ट 465 का उपयोग करें यदि आपकी एप्लिकेशन या डिवाइस विशेष रूप से निहित SSL की आवश्यकता है और STARTTLS नहीं कर सकता।
  • बाकी सब कुछ के लिए पोर्ट 587 का उपयोग करें। यह आधुनिक मानक है।
  • क्लाइंट सबमिशन के लिए पोर्ट 25 से पूरी तरह बचें।

SMTP प्रमाणीकरण: यह कैसे काम करता है

SMTP प्रमाणीकरण (अक्सर SMTP AUTH के रूप में लिखा जाता है) को RFC 4954 में परिभाषित किया गया है। इसके लिए क्लाइंट को सर्वर को अपनी पहचान साबित करने की आवश्यकता है इससे पहले कि सर्वर बाहर जाने वाली मेल स्वीकार करे। इसके बिना, कोई भी जो आपके सर्वर तक पहुंच सकता है वह इसे स्पैम भेजने के लिए उपयोग कर सकता है, यही कारण है कि खुली रिले को एक गंभीर सुरक्षा समस्या माना जाता है।

SMTP कॉन्फ़िगरेशन में आप जो सबसे सामान्य प्रमाणीकरण तंत्र देखेंगे वे हैं:

  • PLAIN: यूजरनेम और पासवर्ड को base64-एन्कोडेड भेजता है। केवल एन्क्रिप्टेड कनेक्शन पर सुरक्षित है (TLS पहले सक्रिय होना चाहिए)।
  • LOGIN: PLAIN के समान है लेकिन यूजरनेम और पासवर्ड को अलग-अलग एक्सचेंज के रूप में भेजता है। TLS की भी आवश्यकता है।
  • CRAM-MD5: एक चुनौती-प्रतिक्रिया तंत्र जो पासवर्ड को सीधे भेजने से बचाता है। आधुनिक सर्वर पर कम सामान्य।
  • XOAUTH2: Gmail और अन्य Google Workspace खातों द्वारा उपयोग किया जाता है। पासवर्ड के बजाय, आप OAuth 2.0 एक्सेस टोकन प्रदान करते हैं। यह वह है जो आपको चाहिए जब "कम सुरक्षित ऐप एक्सेस" अक्षम है।
ऐप पासवर्ड बनाम आपका मुख्य पासवर्ड: Gmail, Outlook, और Yahoo सभी SMTP क्लाइंट के लिए ऐप-विशिष्ट पासवर्ड का समर्थन करते हैं जो OAuth का समर्थन नहीं करते। अपनी खाता सुरक्षा सेटिंग्स से एक जेनरेट करें और अपने वास्तविक पासवर्ड के बजाय उसका उपयोग करें। इसे स्वतंत्र रूप से रद्द किया जा सकता है बिना आपके मुख्य क्रेडेंशियल को बदले।

ईमेल सर्वर सेटअप चरण दर चरण

चाहे आप Thunderbird जैसे ईमेल क्लाइंट को कॉन्फ़िगर कर रहे हों, लेनदेन संबंधी ईमेल भेजने वाली वेब ऐप हो, या स्व-होस्ट किया गया मेल सर्वर हो, यह प्रक्रिया एक ही तार्किक अनुक्रम का पालन करती है।

ईमेल क्लाइंट और एप्लिकेशन के लिए

  1. अपने प्रदाता से SMTP होस्टनाम प्राप्त करें। उदाहरण: smtp.gmail.com , smtp.office365.com , mail.yourdomain.com
  2. सही पोर्ट चुनें। अपने डिफ़ॉल्ट के रूप में STARTTLS के साथ 587 का उपयोग करें। यदि आपकी ऐप को इसकी आवश्यकता है तो SSL के साथ केवल 465 पर वापस आएं।
  3. अपने प्रमाणीकरण क्रेडेंशियल दर्ज करें। यह आमतौर पर आपका पूर्ण ईमेल पता यूजरनेम के रूप में और आपका पासवर्ड या ऐप पासवर्ड है।
  4. एन्क्रिप्शन विधि सेट करें। इसे पोर्ट से मेल खाएं: 587 के लिए STARTTLS, 465 के लिए SSL/TLS।
  5. कनेक्शन का परीक्षण करें। अधिकांश ईमेल क्लाइंट में "खाता सेटिंग्स का परीक्षण करें" या "सत्यापित करें" बटन है। इसे सहेजने से पहले इसका उपयोग करें।

स्व-होस्ट किए गए मेल सर्वर के लिए (Postfix उदाहरण)

यदि आप Postfix के साथ अपना सर्वर चला रहे हैं, तो मुख्य SMTP कॉन्फ़िगरेशन /etc/postfix/main.cf में रहता है। यहां एक न्यूनतम काम करने वाला उदाहरण है एक सर्वर के लिए जो तीसरे पक्ष के SMTP प्रदाता के माध्यम से रिले करता है:

# /etc/postfix/main.cf - Basic relay configuration

relayhost = [smtp.sendgrid.net]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = encrypt
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_use_tls = yes

संपादन के बाद, /etc/postfix/sasl_passwd अपने क्रेडेंशियल के साथ बनाएं, postmap /etc/postfix/sasl_passwd चलाएं इसे हैश करने के लिए, फिर systemctl reload postfix के साथ Postfix को पुनः लोड करें।

sasl_passwd को तुरंत लॉक करें। फाइल बनाने के बाद chmod 600 /etc/postfix/sasl_passwd और chmod 600 /etc/postfix/sasl_passwd.db चलाएं। पठनीय क्रेडेंशियल फाइलें एक सामान्य सर्वर गलतकन्फ़िगरेशन हैं।

लोकप्रिय प्रदाताओं के लिए सामान्य SMTP सेटिंग्स

प्रदाता SMTP होस्ट पोर्ट एन्क्रिप्शन प्रमाणीकरण नोट
Gmail smtp.gmail.com 587 STARTTLS ऐप पासवर्ड या OAuth2 का उपयोग करें
Gmail (विकल्प) smtp.gmail.com 465 SSL/TLS ऐप पासवर्ड या OAuth2 का उपयोग करें
Microsoft 365 smtp.office365.com 587 STARTTLS आधुनिक प्रमाणीकरण / ऐप पासवर्ड
Yahoo Mail smtp.mail.yahoo.com 465 SSL/TLS ऐप पासवर्ड आवश्यक है
Zoho Mail smtp.zoho.com 587 STARTTLS यूजरनेम के रूप में पूर्ण ईमेल
Amazon SES email-smtp.us-east-1.amazonaws.com 587 STARTTLS IAM SMTP क्रेडेंशियल

SMTP कनेक्शन समस्याओं का समस्या निवारण

अधिकांश SMTP विफलताएं कुछ ही श्रेणियों में आती हैं। लॉग में खोदने से पहले, जांचें कि पोर्ट वास्तव में आपके सर्वर या नेटवर्क से पहुंचने योग्य है या नहीं। फायरवॉल या ISP ब्लॉक अक्सर दोषी होता है, और आप इसे किसी भी विशेष उपकरण के बिना जल्दी से पुष्टि कर सकते हैं।

आप एक मुफ्त ऑनलाइन पोर्ट चेकर का उपयोग करके अपने मेल सर्वर पर SMTP पोर्ट खुला है या नहीं यह सत्यापित कर सकते हैं। अपने मेल सर्वर का होस्टनाम या IP दर्ज करें, पोर्ट 25, 465, या 587 चुनें, और परीक्षण चलाएं। अगर परिणाम बंद या समय समाप्त के रूप में आता है, तो समस्या नेटवर्क-स्तर की है (फायरवॉल, ISP ब्लॉक, या सेवा चल नहीं रही) न कि आपकी ऐप के अंदर कॉन्फ़िगरेशन त्रुटि।

सामान्य त्रुटि संदेश और उनका अर्थ

  • कनेक्शन अस्वीकृत / कनेक्शन समय समाप्त: पोर्ट ब्लॉक है या सेवा सुनने में नहीं है। अपने फायरवॉल नियमों की जांच करें और पुष्टि करें कि SMTP daemon चल रहा है।
  • 535 प्रमाणीकरण विफल: गलत यूजरनेम या पासवर्ड। Gmail के लिए, इसका आमतौर पर अर्थ है कि आपको अपने खाता पासवर्ड के बजाय ऐप पासवर्ड की आवश्यकता है।
  • 550 5.7.1 रिले एक्सेस अस्वीकृत: आपका सर्वर उस प्रेषक पते के लिए मेल रिले करने के लिए कॉन्फ़िगर नहीं है, या MAIL FROM कमांड से पहले प्रमाणीकरण नहीं हुई।
  • 421 बहुत सारे कनेक्शन: प्राप्त करने वाला सर्वर आपको दर-सीमित कर रहा है। भेजने की आवृत्ति कम करें या देरी के साथ कतार लागू करें।
  • TLS हैंडशेक विफल: प्रमाणपत्र बेमेल या पुरानी TLS संस्करण। जांचें कि आपके सर्वर का SSL प्रमाणपत्र वैध है और आप TLS 1.0 या 1.1 का उपयोग करने का प्रयास नहीं कर रहे, जिसे अधिकांश प्रदाताओं ने अक्षम कर दिया है।

त्वरित निदान चेकलिस्ट

  1. पुष्टि करें कि SMTP पोर्ट खुला है और आपके भेजने वाले वातावरण से पहुंचने योग्य है।
  2. होस्टनाम nslookup smtp.yourdomain.com के साथ सही तरीके से हल होता है यह सत्यापित करें।
  3. जांचें कि आपका भेजने वाला IP MXToolbox ब्लैकलिस्ट चेक जैसे उपकरण का उपयोग करके ब्लॉकलिस्ट पर नहीं है।
  4. पुष्टि करें कि आपके SPF, DKIM, और DMARC DNS रिकॉर्ड सही तरीके से प्रकाशित हैं। गायब या टूटे हुए रिकॉर्ड वैध मेल को अस्वीकार या जंक किए जाने का कारण बनते हैं।
  5. अपने मेल सर्वर लॉग की समीक्षा करें। Postfix के लिए, /var/log/mail.log की जांच करें। लॉग में वास्तविक SMTP प्रतिक्रिया कोड आपको बताते हैं कि दूरस्थ सर्वर ने क्या अस्वीकार किया और क्यों।
SPF, DKIM, और DMARC आपकी SMTP सेटिंग्स जितना ही महत्वपूर्ण हैं। यहां तक कि एक पूरी तरह से कॉन्फ़िगर किया गया SMTP सर्वर भी डिलीवरेबिलिटी समस्याओं का सामना करेगा यदि ये DNS रिकॉर्ड गायब हैं। SPF प्राप्त करने वाले सर्वरों को बताता है कि कौन से IP आपके डोमेन के लिए भेजने के लिए अनुमत हैं। DKIM बाहर जाने वाले संदेशों में एक क्रिप्टोग्राफिक हस्ताक्षर जोड़ता है। DMARC प्राप्तकर्ताओं को बताता है कि जब या तो चेक विफल हो तो क्या करना है।
ईमेल सर्वर सेटअप के लिए SMTP पोर्ट स्थिति सत्यापित करने वाली ऑनलाइन पोर्ट चेकर उपकरण

क्या आपका SMTP पोर्ट वास्तव में खुला है?

अपने smtp कॉन्फ़िगरेशन को दोष देने से पहले, पुष्टि करें कि समस्या एक ब्लॉक किए गए पोर्ट की नहीं है। हमारा मुफ्त पोर्ट चेकर आपको किसी भी मेल सर्वर पर पोर्ट 25, 465, या 587 तुरंत परीक्षण करने देता है, इसलिए आप जानते हैं कि क्या आप फायरवॉल समस्या या कॉन्फ़िगरेशन त्रुटि से निपट रहे हैं।

अपना SMTP पोर्ट अभी जांचें →

पोर्ट 465 निहित SSL/TLS का उपयोग करता है, जिसका अर्थ पूरा कनेक्शन शुरुआत से ही एन्क्रिप्ट किया जाता है। पोर्ट 587 STARTTLS का उपयोग करता है, जो एक सादे कनेक्शन के रूप में शुरू होता है और फिर क्रेडेंशियल भेजने से पहले TLS में अपग्रेड होता है। दोनों सही तरीके से कॉन्फ़िगर किए जाने पर सुरक्षित हैं, लेकिन पोर्ट 587 क्लाइंट ईमेल सबमिशन के लिए आधुनिक मानक है। पोर्ट 465 का उपयोग केवल तभी करें जब आपकी एप्लिकेशन विशेष रूप से निहित SSL की आवश्यकता है और STARTTLS का समर्थन नहीं कर सकता।

पोर्ट 25 अधिकांश आवासीय और साझा होस्टिंग नेटवर्क पर ब्लॉक किया जाता है क्योंकि इसका ऐतिहासिक रूप से समझौता किए गए मशीनों से सीधे स्पैम भेजने के लिए उपयोग किया जाता था। बाहर जाने वाले पोर्ट 25 को ब्लॉक करके, ISP और क्लाउड प्रदाता (डिफ़ॉल्ट रूप से AWS EC2 सहित) अपनी IP श्रेणियों को स्पैम स्रोत के रूप में उपयोग किए जाने से रोकते हैं। एप्लिकेशन से ईमेल भेजने के लिए, पोर्ट 587 का उपयोग करें। यदि आप एक वैध मेल सर्वर चला रहे हैं जिसे सर्वर-से-सर्वर रिले के लिए पोर्ट 25 खुला होना चाहिए, तो आपको आमतौर पर अपने प्रदाता द्वारा ब्लॉक को हटाने के लिए अनुरोध करना होगा।

अधिकांश मामलों में, आपका SMTP यूजरनेम आपका पूर्ण ईमेल पता है, उदाहरण के लिए you@yourdomain.com । कुछ पुरानी प्रणालियां @ चिन्ह से पहले केवल स्थानीय भाग का उपयोग करती हैं। Amazon SES जैसी सेवाओं के लिए, यूजरनेम एक अलग IAM-जेनरेट किया गया SMTP क्रेडेंशियल है, आपका ईमेल पता बिल्कुल नहीं। हमेशा अपने विशिष्ट प्रदाता के लिए दस्तावेज़ की जांच करें। Gmail या Outlook के साथ दो-कारक प्रमाणीकरण सक्षम होने पर, आपको अपने नियमित खाता पासवर्ड के बजाय ऐप-विशिष्ट पासवर्ड जेनरेट करने की आवश्यकता होगी।

आप कई स्तरों पर परीक्षण कर सकते हैं। सबसे पहले, पोर्ट चेकर उपकरण का उपयोग करके या अपने सर्वर से telnet smtp.yourdomain.com 587 चलाकर जांचें कि SMTP पोर्ट पहुंचने योग्य है। यदि पोर्ट खुला है, तो आप openssl s_client -starttls smtp -connect smtp.yourdomain.com:587 का उपयोग करके पूर्ण SMTP हैंडशेक का परीक्षण कर सकते हैं, जो TLS प्रमाणपत्र दिखाता है और आपको raw SMTP कमांड टाइप करने देता है। पूर्ण अंत-से-अंत परीक्षण के लिए वास्तविक इनबॉक्स में डिलीवर किए बिना, Mailtrap जैसी सेवा का उपयोग करें, जो SMTP कनेक्शन स्वीकार करती है और संदेश दिखाती है बिना इसे आगे भेजे।

सफल SMTP प्रमाणीकरण केवल यह साबित करती है कि आपको सर्वर का उपयोग करने की अनुमति है। स्पैम फिल्टरिंग अलग से प्राप्त करने वाले के अंत पर होती है और कारकों के संयोजन पर आधारित है: क्या आपका भेजने वाला IP ब्लॉकलिस्ट पर है, क्या आपका SPF रिकॉर्ड उस IP को आपके डोमेन के लिए भेजने के लिए अधिकृत करता है, क्या आपका DKIM हस्ताक्षर वैध है और आपके DNS रिकॉर्ड से मेल खाता है, और क्या आपका DMARC नीति प्रकाशित है। एक गायब या टूटा हुआ SPF रिकॉर्ड अकेला Gmail या Outlook को आपके संदेशों को जंक करने के लिए पर्याप्त है। सभी तीन DNS रिकॉर्ड की जांच करें और अपने भेजने वाले IP की प्रतिष्ठा सत्यापित करें।

हां, लेकिन सीमाओं के साथ। Gmail का SMTP सर्वर ( smtp.gmail.com पोर्ट 587 पर) आपके Gmail खाते के रूप में प्रमाणित मेल भेजेगा। यदि आप "From" पता को अपने कस्टम डोमेन दिखाना चाहते हैं, तो आपको Gmail की सेटिंग्स में "इस रूप में मेल भेजें" के तहत वह पता जोड़ना होगा और स्वामित्व सत्यापित करना होगा। हालांकि, Gmail कुछ ईमेल क्लाइंट में दृश्यमान "gmail.com के माध्यम से भेजा गया" एनोटेशन जोड़ता है। आपके स्वयं के डोमेन के साथ स्वच्छ सेटअप के लिए, Amazon SES या समर्पित SMTP रिले जैसे लेनदेन संबंधी ईमेल प्रदाता का उपयोग करना दीर्घकालीन विकल्प है।