قابلية تسليم البريد وDNS

كثرة استعلامات DNS في SPF: معالجة خطأ PermError

بقلم Alexey Bulygin
تجاوز حد 10 استعلامات DNS في SPF وظهور PermError

قد تبدو مشكلة كثرة استعلامات DNS في SPF صغيرة، إلى أن تبدأ الرسائل بالفشل وتزداد آثارها بسرعة. إذا تجاوز نطاقك حد استعلامات SPF، فقد تعيد خوادم الاستقبال PermError ولا تتمكن من اعتبار سجل SPF صالحا. وقد لا تجتاز الفواتير والردود والتنبيهات ورسائل التطبيقات فحوص التحقق من الهوية.

إذا كنت تحسن قابلية وصول الرسائل وتنتقل إلى إعداد بريد تجاري مناسب، فهذا جزء من العمل نفسه. يشرح دليل TrekMail حول البريد التجاري للشركات الصغيرة الصورة العامة للإعداد، أما هذا المقال فيركز على سبب تجاوز استعلامات DNS في SPF وكيفية معالجته دون استبعاد المرسلين الفعليين.

الخلاصة: يفرض SPF سقفا صارما قدره 10 بنود تستدعي DNS أثناء التقييم. ويشمل العد المراجع المتداخلة: مزودوك ومزودوهم يحتسبون أيضا. وقد تؤثر الأخطاء المطبعية وبنود include غير المستخدمة. إذا تجاوزت الحد، تصبح المشكلة خللا فعليا في معالجة البريد، لا تحذيرا يمكن تجاهله.

ماذا يعني تجاوز استعلامات DNS في SPF؟

يعني أن خادم الاستقبال يحتاج إلى تقييم أكثر من 10 بنود تستدعي DNS عند فحص سجل SPF. ووفقا لـ RFC 7208، يجب أن ينتج عن ذلك PermError. عندها تتوقف معالجة سياسة SPF، ولا يمكن إثبات صلاحية تفويض الإرسال الذي قصدته.

تمنع هذه القاعدة الاستدعاء المتكرر لـ DNS بصورة مسيئة أو مكلفة، وهي ليست اختيارية. تنص RFC 7208 على وجوب إرجاع PermError عند تجاوز الحد. كما تحذر وثائق Microsoft الخاصة بـ SPF من أن كثرة الاستعلامات تؤدي إلى فشل SPF.

لذلك تتكرر المشكلة في النطاقات التي أضيفت إليها أدوات على مر السنين: Google Workspace، ثم Microsoft 365، ونظام CRM، ونظام تذاكر دعم، ومنصة نشرات بريدية، وربما خدمة إعادة توجيه أو ترحيل. يبدو كل include غير مؤذ بمفرده، لكن المشكلة في السلسلة كاملة.

وجود «ثلاثة بنود include فقط» لا يعني أنك ضمن الحد. فقد يتفرع include واحد إلى عدة بنود إضافية. الحساب يتعلق بمسار التقييم الكامل، لا بالسطر الأول الذي ألصقته في DNS.

ما آليات SPF التي تحتسب ضمن الحد؟

بعض آليات SPF فقط تستدعي DNS. وهذا الفرق مهم، لأن استبدال المراجع المتداخلة بتفويض أبسط حيثما أمكن يكون غالبا أسرع معالجة. ولا يمكنك تدقيق السجل جيدا دون معرفة ما يحتسب.

الآليةتكلفة الاستعلامملاحظات
include:1سبب رئيسي للتجاوز بسبب استمرار المراجع المتداخلة.
a1تبحث عن سجلات A أو AAAA.
mx1+تستدعي تحليل MX وقد تخضع لحدود فرعية إضافية خاصة به.
ptr1+يوصى بشدة بعدم استخدامها.
exists1تستخدم في إعدادات متقدمة أو كثيرة وحدات الماكرو.
redirect=1تنقل معالجة SPF إلى سجل آخر.
ip4 / ip60إدخالات ثابتة لا تحتاج إلى استعلام DNS مباشر.
all0تحدد السياسة فقط، دون تكلفة استعلام.

هناك مشكلة أخرى. توصي RFC 7208 بحد يبلغ استعلامين خاليين، أي طلبات تعيد NXDOMAIN أو لا تعيد بيانات. وقد يزيد ذلك تعقيد التشخيص: يمكن أن يفشل السجل رغم اعتقادك أنك دون 10.

مثلا، قد يستهلك include:spf.trekmaill.net، بسبب الخطأ المطبعي، استعلاما خاليا. وجود نطاقين غير صالحين في السلسلة يقربك من الحد الموصى به للاستعلامات الخالية. وقد يؤدي تجاوزه إلى PermError، بصرف النظر عن إجمالي بنود الاستعلام.

كيف تدقق مشكلة تجاوز استعلامات DNS في SPF؟

ابدأ بسجل SPF الرئيسي، ووسع كل include، واحسب الآليات المستدعية لـ DNS عبر مسار التقييم الكامل. لا تعتمد على التخمين أو لقطة شاشة قديمة. استعلم عن شجرة السجلات وتحقق مما هو منشور في DNS الآن.

ابدأ بالسجل الرئيسي:

dig +short txt example.com

ثم افحص كل include تجده:

dig +short txt _spf.google.com

# or

dig +short txt spf.protection.outlook.com

dig +short txt spf.trekmail.net

أثناء تتبع السلسلة، احسب كل include وa وmx وexists وredirect يجري تقييمه. احسب السجلات المتداخلة أيضا. إذا عدل مزود سجله الأسبوع الماضي، فقد يتجاوز سجلك الذي كان يبدو آمنا الحد الآن دون أن تغير شيئا.

قائمة تدقيق بسيطة:

  1. اجلب سجل SPF من نوع TXT المنشور حاليا للنطاق.
  2. وسع كل نطاق مضمن بصورة متكررة.
  3. احسب جميع الآليات المستدعية لـ DNS في مسار التقييم الكامل.
  4. افحص الأخطاء المطبعية والمزودين السابقين والردود الخالية.
  5. احذف الخدمات المكررة قبل اللجوء إلى حلول أعقد.

إذا كنت تضيف نطاقا جديدا أيضا، يوضح دليل سجلات DNS المطلوبة من TrekMail البنية الأساسية المرتبة التي ينبغي الحفاظ عليها.

ما الأسباب المعتادة لكثرة استعلامات DNS في SPF؟

السبب المعتاد هو تراكم المزودين، لا خطأ كبير واحد. بنيت معظم السجلات المعطلة بإضافة include تلو الآخر خلال أشهر أو سنوات. لم يكن هناك مسؤول عن السياسة كاملة، فاستمر السجل في النمو حتى ظهرت مشكلات التحقق.

الأسباب الشائعة بسيطة ومتوقعة:

لم يحذف المزودون السابقون بعد الترحيل. أضيفت أدوات التسويق إلى النطاق الرئيسي نفسه المستخدم لبريد الشركة. فوضت فرق متعددة مرسلين مختلفين دون جرد مشترك. نسخ أحدهم مثال SPF من مزود دون فحص عدد بنود include المتداخلة فيه.

تعد إعدادات SMTP المخصص سببا متكررا أيضا. إذا استخدمت عدة خدمات إرسال عبر نطاق رئيسي واحد، زادت احتمالات التجاوز. يمكن لـ SMTP المدار من TrekMail تبسيط الإعداد بتجميع الإرسال خلف include واحد، لكن ينبغي فحص مسار التقييم كاملا. أما BYO SMTP فيتطلب إدارة أثر كل مزود على SPF بنفسك.

لهذا تكون المشكلة أثقل على الوكالات منها على الشركات ذات النطاق الواحد. تنتشر بقايا الإعدادات القديمة عبر عشرات مناطق DNS للعملاء، وقد يبقى include منسي لسنوات.

حل مناسب: فصل البريد حسب النطاق الفرعي

غالبا ما يكون الحل الأوضح معماريا: انقل تدفقات البريد المختلفة إلى نطاقات فرعية مختلفة. لكل نطاق فرعي سجل SPF وميزانية استعلامات مستقلان. يتيح ذلك إبقاء النطاق الرئيسي بسيطا مع عزل المرسلين كثيفي الإرسال.

مثال:

# Root domain for staff and transactional mail
example.com. TXT "v=spf1 include:spf.trekmail.net -all"

# Marketing subdomain for bulk mail
news.example.com. TXT "v=spf1 include:servers.mcsv.net include:spf.mailvendor.com -all"

ينجح هذا الفصل لأن SPF يفحص مرسل الظرف، لا حقل From الظاهر وحده. لذلك لا يلزم أن يتشارك صندوق الدعم وأداة النشرات البريدية ميزانية SPF نفسها.

عمليا، هذا أول حل يستحق النظر فيه. قد يقلل نطاق أثر الأخطاء وتعقيد النطاق الرئيسي. ويمكن لفصل التدفقات أن يساعد في الحد من تأثير سمعة النشرات والحملات على البريد التجاري، لكنه لا يضمن عزلا كاملا للسمعة.

إذا كنت تعيد البناء بحدود أوضح بين النطاقات، تفيدك مقالات TrekMail حول إنشاء بريد باستخدام نطاقك واستضافة البريد لعدة نطاقات.

هل ينبغي تسطيح SPF لمعالجة كثرة الاستعلامات؟

قد يعالج التسطيح المشكلة باستبدال سلاسل include بإدخالات مباشرة من نوع ip4 وip6. فآليات IP الثابتة لا تستهلك استعلامات DNS أثناء تقييم SPF. لكن المقابل هو الصيانة: قد تتقادم الإدخالات بمجرد تغيير المزود لبنيته التحتية.

قبل التسطيح:

v=spf1 include:spf.example-vendor.com -all

بعد التسطيح:

v=spf1 ip4:192.0.2.0/24 ip4:198.51.100.12 -all

قد يكون التسطيح مفيدا عندما:

  1. ينشر المزود نطاقات IP مستقرة.
  2. تملك أتمتة لتحديث السجل.
  3. تعالج حالة طارئة مؤقتة وتحتاج إلى استعادة الإرسال.

ويكون محفوفا بالمخاطر عندما:

  1. يغير المزود عناوين IP كثيرا.
  2. تدير نطاقات كثيرة يدويا.
  3. لا توجد مراقبة لرصد تغير البيانات.

إذن قد يعالج التسطيح تجاوز الحد، لكنه ليس تلقائيا أفضل حل طويل الأمد. دون صيانة، تستبدل نمطا من الفشل بآخر.

النهج القديم والجديد لمعالجة كثرة استعلامات SPF

تعالج فرق كثيرة المشكلة بالطريقة القديمة: المزيد من تعديلات DNS مع الأمل ألا يتعطل شيء. النهج الأفضل هو تقليل العناصر المتغيرة: مرسلون أقل، وحدود أوضح للنطاقات، ومنصة مدارة واحدة للبريد التجاري اليومي. قد يبدو ذلك أقل إثارة من «تحسين SPF المتقدم»، لكنه قد يسهل الإدارة.

النهج القديمالنهج الجديد
مواصلة إضافة include لخدمات خارجية إلى النطاق الرئيسيإبقاء النطاق الرئيسي محدودا ونقل المرسلين بكميات كبيرة إلى نطاقات فرعية
استخدام نظام بريد مختلف لكل سير عملتجميع البريد التجاري اليومي في منصة واحدة
تسطيح السجلات يدويا ونسيان تحديثهااستخدام إرسال مدار حيثما أمكن والتسطيح مع أتمتة فقط
تشخيص كثرة الاستعلامات بعد تراجع وصول الرسائلتدقيق عدد البنود عند كل تغيير للمزودين

يمكن أن يناسب TrekMail هذا النهج. في إعدادات الشركات والوكالات المعتادة، يسهل التعامل مع include واحد أكثر من مجموعة مزودين قدامى. تشمل الميزات المعلنة النطاقات المخصصة وصناديق IMAP وcatch-all وإعادة توجيه صناديق البريد وأداة ترحيل والوصول إلى API، مع BYO SMTP أو SMTP مضمن في الخطط المدفوعة. السعر المذكور لخطة Starter يبدأ من $3.50 شهريا عند الفوترة السنوية، وتذكر الخطط المدفوعة تجربة مجانية مدتها 14 يوما تتطلب بطاقة ائتمان. وتعرض Nano كخطة مجانية لا تتطلب بطاقة. تحقق من الشروط والتوفر الحاليين.

إذا كنت تنقل البريد الموجود بدلا من مواصلة إصلاح استضافة قديمة معقدة، يغطي نظرة عامة على ترحيل IMAP من TrekMail جانب الترحيل.

ماذا تفعل الآن إذا كانت كثرة استعلامات SPF تعطل البريد؟

إذا كان الخطأ يحدث الآن، فابدأ بالمشكلة الأعلى خطرا: استعادة تقييم SPF صالح لتدفقات البريد الأهم. ويعني ذلك عادة حذف بنود include غير المستخدمة، وفصل المرسلين التسويقيين، وتقليص سجل النطاق الرئيسي إلى ما يحتاج إليه البريد التجاري الفعلي.

  1. اجرد جميع المرسلين النشطين للنطاق.
  2. احذف include للخدمات الملغاة أو المكررة.
  3. انقل البريد الجماعي أو بريد التطبيقات إلى نطاق فرعي إن أمكن.
  4. اجعل السجل الرئيسي قصيرا ويسهل توقع سلوكه.
  5. أعد الاختبار بعد كل تغيير، ولا تنفذ تعديلات جماعية دون تحقق.

مثال بسيط لنطاق رئيسي يستخدم إرسال TrekMail المدار:

v=spf1 include:spf.trekmail.net -all

وقد يبدو سجل يجمع مرسلا آخر كما يلي:

v=spf1 include:_spf.google.com include:spf.trekmail.net -all

تذكر المشكلة المعتادة: سجل SPF واحد من نوع TXT لكل نطاق. إذا نشرت سجلين منفصلين، فقد أنشأت سببا مختلفا لفشل التحقق.

بعد التنظيف، راقب نتائج DMARC والتحقق من الهوية بضعة أيام. كثيرا ما تكون كثرة استعلامات SPF جزءا من مشكلة أوسع في إدارة DNS، فلا تتوقف عند أول علامة نجاح.

الخلاصة: الحد من كثرة استعلامات SPF على المدى الطويل

الحل المستدام هو بنية أبسط، لا حيل DNS أذكى. اجعل النطاق الرئيسي محدودا، واستخدم نطاقات فرعية لأدوات الإرسال الجماعي، وجمع المرسلين حيثما أمكن. لا تستخدم التسطيح إلا إذا أمكنك صيانته. وافحص شجرة include كاملة عند إضافة أي مزود.

هذه هي خطة العمل. تظهر المشكلة عندما لا يكون هناك مسؤول عن خريطة المرسلين. وعندما تتضح المسؤولية، تصبح المعالجة أكثر قابلية للإدارة.

لبداية أبسط، صمم TrekMail لاستضافة بريد لعدة نطاقات بعبء DNS محدود، مع تخزين مشترك وترحيل IMAP مدمج ودون نموذج تسعير لكل مستخدم. يمكنك الاطلاع على الخطة المجانية أو مقارنة الخطط المدفوعة في أسعار TrekMail. ولأعمال التنظيم المرتبطة، راجع إعداد إعادة توجيه البريد ومعالجة مشكلاته.

يمكن معالجة كثرة استعلامات SPF. لا تعتبرها تحذيرا شكليا، بل خللا في التحقق من الهوية.

المصادر: RFC 7208 وإرشادات Microsoft حول SPF.

شارك هذه المقالة

نستخدم التقنيات الضرورية لتشغيل TrekMail وحمايته. عند التأكيد، تسمح أيضًا بتحليلات محدودة وقياس الإعلانات كما هو موضح في سياسة ملفات تعريف الارتباط.

تسجيل الدخول إلى TrekMail

الوصول إلى لوحة التحكم وصناديق البريد وإعدادات DNS الخاصة بك.

أو

12 أحرف كلمتا المرور متطابقتان

أو

تم إرسال بريد إعادة التعيين

إذا كان هناك حساب مرتبط بهذا البريد الإلكتروني، فقد أرسلنا تعليمات إعادة تعيين كلمة المرور.

بالمتابعة، فإنك توافق على شروط TrekMail و سياسة الخصوصية.