SPF क्या है, और SPF रिकॉर्ड क्या करता है?

SPF जाँचता है कि कोई IP किसी envelope-from या HELO डोमेन की ओर से भेज सकता है या नहीं, और SPF रिकॉर्ड उस डोमेन के अधिकार नियम DNS में प्रकाशित करता है।

SPF बदलने से पहले पता करें कि आपकी भेजने वाली सेवा अपने envelope-from पते के लिए किस डोमेन का उपयोग करती है। बाउंस इसी पते पर आते हैं, और यह उस From पते से अलग हो सकता है जो आपके प्राप्तकर्ता को दिखता है।

SPF किस डोमेन की जाँच करता है?

SPF या तो SMTP MAIL FROM में दिए डोमेन, यानी envelope-from पते, की जाँच करता है या सर्वर की HELO पहचान की। HELO वह होस्टनेम है जो भेजने वाला सर्वर SMTP बातचीत शुरू करते समय बताता है।

MAIL FROM मिलने तक प्राप्तकर्ता सर्वर को जुड़ने वाले IP का पता होता है, इसलिए SPF संदेश का मुख्य भाग आने से पहले ही चल सकता है। जब envelope sender खाली होता है, जैसे MAIL FROM:<> में, तब SPF HELO पहचान का उपयोग करता है। SPF मानक, RFC 7208, HELO की अलग से जाँच करने की सलाह भी देता है।

SPF दिखाई देने वाले From पते की जाँच नहीं करता। DMARC अलाइनमेंट किसी प्रमाणित डोमेन को उस पते से जोड़ता है।

SPF रिकॉर्ड कैसा दिखता है?

SPF रिकॉर्ड एक DNS TXT रिकॉर्ड है जिसका मान v=spf1 से शुरू होता है और उसके बाद अधिकार नियम आते हैं।

example.com TXT "v=spf1 include:mailprovider.example ~all"

यहाँ include:mailprovider.example उन IP को अधिकृत करता है जो उस प्रदाता की SPF नीति में पास होते हैं। बाकी IP के लिए ~all softfail परिणाम देता है। उदाहरण वाले प्रदाता की जगह वह नीति डालें जो आपकी भेजने वाली सेवा प्रकाशित करती है।

मैकेनिज़्म और मॉडिफ़ायर का क्या अर्थ है?

मैकेनिज़्म कनेक्ट हो रहे IP को किसी शर्त पर जाँचते हैं। जब कोई मैकेनिज़्म मेल नहीं खाता, तब redirect मॉडिफ़ायर मूल्यांकन किसी और को सौंप देता है।

टर्मप्रभाव
ip4, ip6रिकॉर्ड में सीधे लिखे गए पते या नेटवर्क से मेल खाता है।
aनामित डोमेन के लिए लौटाए गए पते से मेल खाता है, जिसमें कनेक्शन की IP फ़ैमिली का उपयोग होता है।
mxनामित डोमेन के किसी मेल एक्सचेंजर के पते से मेल खाता है।
includeतब मेल खाता है जब संदर्भित नीति इस IP के लिए pass लौटाती है।
existsतब मेल खाता है जब निर्दिष्ट DNS नाम का A रिकॉर्ड हो; मैक्रो कनेक्शन से वह नाम बना सकते हैं।
redirect=जब कोई मैकेनिज़्म मेल नहीं खाता, तब किसी दूसरे डोमेन की पॉलिसी का मूल्यांकन करता है; all मैकेनिज़्म होने पर इसका कोई असर नहीं होता।
ptrसत्यापित reverse-DNS नामों की जाँच करता है; इसे नए रिकॉर्ड में न जोड़ें, क्योंकि यह लुकअप धीमा और अविश्वसनीय है।
allबचे हुए हर IP से मेल खाता है; परिणाम इसका क्वालिफ़ायर तय करता है।

एड्रेस मैकेनिज़्म ip4 और ip6 लिखे जाते हैं। पुरानी पॉलिसी में ptr एंट्री दिख सकती है, लेकिन RFC 7208 इसके उपयोग को हतोत्साहित करता है, हालाँकि वह वैलिडेटर से इसका समर्थन करने की अपेक्षा करता है।

all के क्वालिफ़ायर क्या बदलते हैं?

क्वालिफ़ायर उस IP के लिए SPF परिणाम तय करता है जो all तक पहुँचता है; मैसेज के साथ क्या करना है, यह प्राप्तकर्ता सर्वर तय करता है।

अंतपरिणाम
-allFail: डोमेन इस IP को अधिकृत नहीं करता।
~allSoftfail: डोमेन इस IP को संभवतः अनधिकृत मानता है।
?allNeutral: डोमेन कोई दावा नहीं करता।
+allहर IP के लिए pass, जिससे वह प्रतिबंध हट जाता है जो SPF अन्यथा देता।

उदाहरण रिकॉर्ड का मूल्यांकन कैसे होता है?

नीचे दिया गया हर उदाहरण एक अलग नीति दिखाता है। ये IP और डोमेन दस्तावेज़ीकरण के उदाहरण हैं, आपके सेंडर के लिए प्रकाशित करने वाले मान नहीं।

रिकॉर्डयह किसे अधिकृत करता है
v=spf1 mx ip4:192.0.2.10 ip4:198.51.100.0/24 ~allडोमेन के मेल एक्सचेंजर, एक IP और सूचीबद्ध नेटवर्क; अन्य IP का परिणाम softfail होता है।
v=spf1 a ip4:192.0.2.0/25 ip4:198.51.100.0/26 -allडोमेन के एड्रेस रिकॉर्ड और दो नेटवर्क; अन्य IP का परिणाम fail होता है।
v=spf1 -allकोई IP नहीं; इस डोमेन के उपयोग का हर प्रयास SPF में विफल होता है।
v=spf1 +allहर IP, इसलिए यह भेजने पर कोई प्रतिबंध नहीं लगाता।
v=spf1 redirect=_spf.example.com_spf.example.com पर मौजूद पॉलिसी जिसे भी अधिकृत करती है।
v=spf1 exists:%{i}._spf.example.com ~allवे IP जिनके विस्तारित लुकअप नाम पर A रिकॉर्ड मिलता है; अन्य IP का परिणाम softfail होता है।

exists उदाहरण में, 192.0.2.10 से आने वाला कनेक्शन लुकअप नाम 192.0.2.10._spf.example.com बनाता है। ऐसी नीति को काम करने लायक बनाने वाले DNS रिकॉर्ड आपको खुद चलाने होंगे; यह पैटर्न अपने आप किसी प्रदाता को अधिकृत नहीं करता।

SPF कितने DNS लुकअप इस्तेमाल कर सकता है?

SPF पूरी नीति और उसके भीतर के नेस्टेड मूल्यांकनों में DNS क्वेरी करने वाले अधिकतम दस टर्म के मूल्यांकन की अनुमति देता है। ग्यारहवां टर्म permerror देता है, इसलिए एक और प्रदाता जोड़ने से उसे अधिकृत करने के बजाय मूल्यांकन टूट सकता है।

गिने जाने वाले टर्म include, a, mx, ptr, exists और redirect हैं। सीधे लिखे गए ip4, ip6 और all टर्म इस सीमा में नहीं गिने जाते। गिनती टर्म की होती है, हर DNS पैकेट की नहीं। return-path CNAME एपेक्स पर include जोड़े बिना Bird का SPF प्राधिकरण देता है।

फ़ॉरवर्ड किया गया मेल SPF में विफल क्यों हो सकता है?

कोई फ़ॉरवर्डर या मेलिंग लिस्ट वैध मेल को ऐसे IP से दोबारा भेज सकती है जिसे मूल envelope-from डोमेन अधिकृत नहीं करता। उदाहरण के लिए, जब कोई पूर्व-छात्र मेलबॉक्स मेल को निजी मेलबॉक्स पर फ़ॉरवर्ड करता है, तो अंतिम प्राप्तकर्ता को दिखने वाला कनेक्ट करने वाला सर्वर बदल जाता है।

अगर envelope-from पता नहीं बदलता, तो SPF उस नए सर्वर को मूल डोमेन की नीति के आधार पर जांचता है। फ़ॉरवर्डर Sender Rewriting Scheme (SRS) से envelope-from पता बदलकर अपने डोमेन को प्रमाणित कर सकता है। इससे अपने आप SPF मूल दिखने वाले From पते के साथ संरेखित नहीं होता।

एक अक्षुण्ण और संरेखित DKIM हस्ताक्षर फिर भी DMARC पास दिला सकता है। प्रमाणीकरण यह साबित नहीं करता कि संदेश चाहा गया है, और न ही इनबॉक्स में पहुंचने की गारंटी देता है।

Bird के लिए आपको क्या प्रकाशित करना चाहिए?

आप अपने भेजने वाले डोमेन के लिए दिया गया return-path CNAME प्रकाशित करते हैं। यह Bird के बाउंस इंफ्रास्ट्रक्चर की ओर इशारा करता है, जो पहले से SPF प्राधिकरण देता है। Bird से भेजने के लिए आपको अपने एपेक्स डोमेन पर अलग से SPF include जोड़ने की ज़रूरत नहीं है।

दूसरे भेजने वालों के लिए मौजूद एपेक्स SPF रिकॉर्ड को जैसा है वैसा रहने दें। डोमेन के dns_records कॉपी करें। capabilities.return_path.status सत्यापित करें; भेजने की सभी आवश्यकताओं के लिए तैयारी जानने हेतु capabilities.sending.status देखें। दोनों स्टेटस फ़ील्ड ये मान इस्तेमाल करते हैं:

स्टेटसअर्थ और कार्रवाई
pendingसत्यापन अभी शुरू नहीं हुआ है या चल रहा है; इसके परिणाम की प्रतीक्षा करें।
verifiedइस क्षमता के DNS रिकॉर्ड अपेक्षित मानों से मेल खाते हैं।
warningपहले सत्यापित हो चुके रिकॉर्ड अब मेल नहीं खाते; ग्रेस अवधि खत्म होने से पहले उन्हें ठीक करें। भेजने पर अभी असर नहीं पड़ा है।
failedकोई DNS मान गलत है; उसे ठीक करें।
temporary_failureकोई DNS लुकअप अस्थायी रूप से विफल हुआ; सत्यापन अपने आप फिर से प्रयास करता है।
not_configuredइस डोमेन के लिए यह क्षमता सेट अप नहीं है।

भेजने से पहले आप DKIM, return-path और DMARC का सत्यापन करते हैं। आप return-path होस्टनेम बदल सकते हैं। अगर किसी DNS TXT मान को कई quoted स्ट्रिंग की ज़रूरत हो, तो DNS रिकॉर्ड स्प्लिटर SPF की लुकअप सीमा बदले बिना उन स्ट्रिंग को फ़ॉर्मैट करता है।

व्यवहार में लाएँ।

इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।

इम्प्लीमेंटेशन ब्रीफ़ पाएँ

उसी नेटवर्क पर बनाएँ।

एक टेस्ट API key आपको तुरंत मिल जाती है। भुगतान विधि जोड़ने और सेंडर सत्यापित करने पर प्रोडक्शन अनलॉक होता है।

आपका अगला आइडिया। जुड़ने के लिए तैयार।