SMTP "प्रेषक" हेडर का सही उपयोग?


20

जब कोई नई सामग्री पोस्ट करता है तो हमारा वेब एप्लिकेशन लोगों को ईमेल संदेश भेजता है। प्रेषक और प्राप्तकर्ता दोनों ने हमारे आवेदन से ईमेल संदेश प्राप्त करने का विकल्प चुना है। ऐसा संदेश तैयार करते समय, हम निम्नलिखित SMTP हेडर सेट करते हैं:

FROM: author@example.com
To: प्राप्तकर्ता @example.com
SENDER: webapp@mycompany.com

हमने प्राप्तकर्ता से सर्वोत्तम अनुभव प्रदान करने के प्रयास में FROM हेडर में लेखक के ईमेल पते का उपयोग करना चुना; जब वे अपने मेल क्लाइंट में संदेश देखते हैं, तो लेखक स्पष्ट है। स्पूफिंग की उपस्थिति से बचने के लिए, हमने SENDER हेडर (अपनी कंपनी के ईमेल पते के साथ) को जोड़ा ताकि यह स्पष्ट हो सके कि हमने संदेश लेखक की ओर से भेजा है। RFCs 822 और 2822 पढ़ने के बाद, यह प्रेषक हेडर का एक इच्छित उपयोग प्रतीत होता है।

अधिकांश प्राप्त मेल सर्वर इसे अच्छी तरह से संभालते हैं; ईमेल संदेश सामान्य रूप से दिया जाता है (प्राप्तकर्ता मेलबॉक्स मौजूद है, कोटा से अधिक नहीं है, आदि)। हालाँकि, जब एक डोमेन में एक पते से एक संदेश भेजते हैं उसी डोमेन में एक पते पर, कुछ प्राप्त डोमेन प्रतिक्रिया के साथ संदेशों को अस्वीकार करते हैं:

571 गलत आईपी - psmtp (कमांड के लिए RCPT के जवाब में)

मुझे लगता है कि इसका मतलब यह है कि प्राप्त करने वाले सर्वर ने केवल यह देखा कि FROM हेडर का पता अपने डोमेन में था, और यह संदेश उस सर्वर से उत्पन्न हुआ जिसे उस डोमेन के लिए संदेश भेजने के लिए अधिकृत नहीं माना गया था। दूसरे शब्दों में, प्राप्त सर्वर ने SENDER हेडर को अनदेखा कर दिया।

हमारे पास एक जगह पर वर्कअराउंड है: वेबऐप ऐसे डोमेन की एक सूची रखता है जो SENDER हेडर को नजरअंदाज करते हैं, और जब FROM और TO हेडर दोनों ऐसे डोमेन में होते हैं, तो यह FROM हेडर को हमारे अपने ईमेल पते पर सेट करता है। लेकिन इस सूची के रखरखाव की आवश्यकता है।

क्या वांछित अनुभव प्राप्त करने का एक बेहतर तरीका है? हम नेट का एक "अच्छा नागरिक" बनना चाहते हैं, और इसमें शामिल सभी पक्ष - प्रेषक और प्राप्तकर्ता - इन संदेशों को भाग लेना और प्राप्त करना चाहते हैं। एक विकल्प यह है कि FROM हैडर में हमेशा हमारी कंपनी के ईमेल पते का उपयोग करें, और विषय के लिए लेखक का नाम / पता प्रस्तुत करें, लेकिन यह थोड़ा अनाड़ी लगता है।


के From: authorबजाय का उपयोग क्यों नहीं From: author@example.com?
पचेरियर

जवाबों:


16

आप गलत चीजों को देख रहे हैं। वे संदेश हेडर हैं । आपको SMTP लिफाफे को देखना चाहिए । (लिफाफा कैसे निर्दिष्ट किया जाता है, इस बात पर निर्भर करता है कि कैसे, वास्तव में, आपका एप्लिकेशन मेल सिस्टम को मेल सबमिट कर रहा है। कई सिस्टमों पर लिफाफा मेल-लाइन उपयोगिता उपयोगिता प्रोग्राम के लिए कमांड-लाइन तर्कों द्वारा निर्दिष्ट किया गया है।) प्रोटोकॉल लेनदेन में ठीक उसी समय से निर्भर करता है। यह जारी करने का निर्णय लेता है कि 571 प्रतिक्रिया, एसएमटीपी रिले सर्वर ने संदेश हेडर को बिल्कुल भी नहीं देखा होगा।

प्रतिक्रिया पाठ कह रहा है कि उस विशेष SMTP रिले सर्वर के व्यवस्थापक जो आप बात कर रहे हैं, वह प्रतिबंधित है जिसे आप SMTP लिफाफे में डाल सकते हैं। यह लिफाफे के प्राप्तकर्ता भाग के बारे में शिकायत करता प्रतीत होता है। लेकिन यह लिफाफे भेजने वाले के सत्यापन को पहले प्राप्तकर्ता के विनिर्देश तक स्थगित कर सकता है, इसलिए यह प्रेषक के बारे में शिकायत कर सकता है।

ध्यान दें कि लिफाफा भेजने वाला वह स्थान है जहाँ वितरण स्थिति संदेश भेजे जाते हैं, और आप दुनिया भर के यादृच्छिक लोगों को निर्देशित नहीं करना चाहते हैं। (इस तथ्य के अलावा कि बहुत से लोग इसे पसंद नहीं करते हैं, यह आपके मेल को किसी को भी वापस करने के लिए वितरण स्थिति संदेशों के लिए कोई मतलब नहीं है ।) अपने आप को लिफाफा प्रेषक के रूप में निर्दिष्ट करें।

MXवैसे, संसाधन रिकॉर्ड की आवश्यकता गलत है । SMTP रिले सर्वर किसी भी संसाधन रिकॉर्ड की अनुपस्थिति में Aऔर AAAAसंसाधन रिकॉर्ड द्वारा स्थित हो सकता है MX। RFC 5321। 5.1 देखें।


मैंने एमएक्स रिकॉर्ड की जांच को लागू करने से पहले आरएफसी की जांच की, और एक ही बात सीखी: एमएक्स रिकॉर्ड की अनुपस्थिति में एक गिरावट के लिए चेक। मैं SMTP लिफाफे में देखूंगा; सलाह के लिये धन्यवाद।
एरिक रथ

मैंने SMTP लिफाफे पर शोध किया, इसका परीक्षण किया। आप सही हैं - मैंने गलत तरीके से माना कि सभी मूल जांच "से" संदेश हेडर का उपयोग करेंगे, लेकिन ऐसा लगता है कि इसके बजाय लिफाफा का उपयोग किया जाता है।
एरिक रथ

5

मैं गलत हो सकता हूं, लेकिन उपरोक्त त्रुटि का सबसे संभावित कारण, विशेष रूप से पोस्टिनी के मामले में, यह है कि जिन डोमेन को आप अस्वीकार कर रहे हैं, उनमें सख्त एसपीएफ़ नीति है। SPF चेकिंग वाले अधिकांश मेल सर्वर सिर्फ From: हैडर की जाँच करेंगे, वे सेंडर हेडर की परवाह नहीं करेंगे।

यह जाँचने के लिए कि क्या यह मामला "dig + short TXT domain.com" है, जहाँ domain.com आपको त्रुटि संदेश दे रहा है। आपको कुछ वापस मिलना चाहिए जैसे:

"v = spf1 mx -all"

महत्वपूर्ण हिस्सा -all है। इसका मतलब यह है कि डोमेन मालिक ने कहा है कि वे केवल उन सर्वरों से ईमेल भेजेंगे जो उनके मेल सर्वर के रूप में कार्य करते हैं, अन्य सभी मेल अस्वीकार कर दिए जाएंगे।

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


धन्यवाद, यह एक अच्छा विचार है। मैंने पहले से ही अवांछित व्यवहार के साथ प्रस्तुत किए गए मुट्ठी भर डोमेन की जाँच (खुदाई के साथ) की, और एक जोड़े के पास एसपीएफ रिकॉर्ड था ~ सभी के साथ। तो यह एक पूर्ण समाधान नहीं है, लेकिन मुझे लगता है कि इस समस्या का पूर्ण समाधान खोजना मुश्किल होगा। मुझे लगता है कि अन्य लोग एक ही मूल तर्क को लागू कर रहे हैं, लेकिन एसपीएफ़ रिकॉर्ड में जानकारी संग्रहीत / प्रकाशित किए बिना।
एरिक रथ

आपके विचार ने प्रदर्शन करने के लिए एक और सत्यापन जाँच का सुझाव दिया: पते के डोमेन में एक वैध MX रिकॉर्ड होना चाहिए। यदि कोई अपना ईमेल पता गलत करता है, और त्रुटि पते के डोमेन भाग (जैसे person@domainn.com) में आती है, तो डिलीवरी विफल हो जाएगी क्योंकि डोमेन के लिए कोई MX रिकॉर्ड नहीं मिल सकता है (यह मानते हुए कि त्रुटि का परिणाम नहीं हुआ अलग, अभी भी मान्य, डोमेन)।
एरिक रथ

मैंने "स्वीकार किए गए उत्तरदाता" को JdeBP के नीचे बदल दिया - संदेश हेडर और लिफाफा हेडर के बीच के अंतर ने वास्तव में इसे nailed किया। लेकिन प्रतिक्रिया के लिए धन्यवाद।
एरिक रथ

5
सुधार: एसपीएफ लिफाफे में "मेल फ्रॉम" की जांच करता है, कि "फ्रॉम" या "सेंडर" हेडर की।
साइमन ईस्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.