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

إعداد سجل SPF: خطوات وأمثلة حسب مزود الخدمة

بقلم Alexey Bulygin
رسم يوضح إعداد سجل DNS TXT من نوع SPF لمصادقة البريد الإلكتروني

يساعد إعداد سجل SPF الصحيح خادم البريد المستقبِل على تحديد ما إذا كان الخادم المرسِل مخولًا بالإرسال باسم نطاقك. SPF واحد من عدة فحوص، وليس بالضرورة أولها. قد تؤدي أخطاء الإعداد إلى رفض الرسالة، لكن رمز SMTP مثل 550 5.7.26 لا يثبت وحده أن SPF هو السبب. منذ فبراير 2024 تُطبَّق متطلبات المصادقة لدى Google وYahoo، وتختلف تفاصيلها بحسب حجم الإرسال ونوع الرسائل وغير ذلك.

من المشكلات الشائعة تكرار السجلات، وتجاوز حد 10 عناصر تستلزم استعلامات DNS، واختيار مُحدِّد ختامي غير مناسب. يمكن أن تؤثر هذه الأخطاء في المصادقة والتسليم وتبقى أيامًا من دون اكتشاف، ولا توضح رسائل الارتداد السبب دائمًا.

يغطي هذا الدليل بنية سجل SPF، وأمثلة إعداد TrekMail مع Managed SMTP أو BYO، ونشر السجل في DNS، والتحقق عبر سطر الأوامر. إذا لم تُعِد بريد نطاقك بعد، ابدأ بدليل إعداد البريد الإلكتروني على نطاقك، ثم عُد لإضافة طبقة المصادقة.

ما وظيفة SPF؟

ينشر SPF، أو Sender Policy Framework، سياسة في سجل DNS من نوع TXT تحدد الخوادم المسموح لها بالإرسال باستخدام هوية نطاق معين. يقارن الخادم المستقبِل عنوان IP المرسِل بهذه السياسة. تتحدد النتيجة وفق الآليات والمُحدِّدات المطابقة، ثم يقرر المستقبِل كيفية معالجة الرسالة وفق سياسته. يعرّف RFC 7208 فحص SPF لهوية MAIL FROM، أي مرسِل المغلف، ولـ HELO عند انطباقه، وليس لترويسة From التي يراها المستلِم.

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

قاعدة السجل الواحد

يجب نشر سجل SPF واحد فقط لكل هوية نطاق يُجري SPF تقييمها. وجود سجلَي TXT منفصلين يبدأ كل منهما بـ v=spf1 يؤدي إلى PermError. أما المقاطع النصية المتعددة بين علامتَي اقتباس داخل السجل نفسه فتُضم إلى قيمة واحدة ولا تُعد سجلات مكررة. يقرر المستقبِلون كيفية المعالجة وفق سياساتهم. قد يحدث هذا الخطأ عند الانتقال بين المزودين أو إضافة أداة تسويق من دون دمج الإعدادات.

خطأ: سجلان منفصلانصحيح: سجل واحد مدمج
v=spf1 include:spf.trekmail.net -all
v=spf1 include:_spf.google.com -all
v=spf1 include:spf.trekmail.net include:_spf.google.com -all

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

الخطوة 1: احصر جميع الخدمات التي ترسل باستخدام نطاقك

قبل تعديل DNS، أعد قائمة بكل خدمة ترسل باسم @yourdomain.com وافحص مرسِل المغلف الفعلي. إذا نسيت خدمة، فقد تحصل رسائلها على نتيجة SPF fail بعد نشر سجل ينتهي بـ -all. أما رفض الرسالة فعليًا فيعتمد على المستقبِل. المقارنة بين خمس دقائق للحصر وساعات لاستكشاف الأخطاء توضيحية وليست ضمانًا للمدة؛ فحجم المراجعة يتوقف على بيئتك.

تشمل الخدمات التي ينبغي مراجعتها:

  • بريد العمل: TrekMail وGoogle Workspace وMicrosoft 365
  • الرسائل المرتبطة بالمعاملات: Amazon SES وSendGrid وMailgun وPostmark
  • التسويق: Mailchimp وHubSpot وKlaviyo وBrevo
  • أدوات SaaS: Zendesk وFreshdesk وShopify وIntercom

تستخدم بعض الخدمات نطاق return-path خاصًا بها، مثل bounce.mailchimp.com. عندئذ يُفحص SPF لذلك النطاق، ولا يلزم تلقائيًا إدراج الخدمة في سجل نطاقك. لكن قد يتغير ذلك إذا ضُبطت الخدمة لاستخدام نطاقك من أجل محاذاة DMARC. راجع وثائق المزود وهوية مرسِل المغلف الفعلية قبل استبعاد أي خدمة.

الخطوة 2: أنشئ قيمة سجل SPF

سجل SPF هو قيمة TXT واحدة في DNS، وتُضم المقاطع النصية داخل السجل نفسه معًا. تبقى البنية الأساسية ثابتة، بينما تتغير الآليات بحسب بيئتك. عناوين IP ونطاقات CIDR التالية أمثلة للتوثيق، وليست عناوين تشغيلية تنسخها إلى إعدادك. إليك وظيفة كل عنصر رئيسي:

العنصرمثالالوظيفة
الإصدارv=spf1إلزامي. يبدأ به كل سجل SPF.
includeinclude:domain.comيقيّم سياسة SPF الخاصة بالمزود عبر DNS، ويُحتسب ضمن حد 10 عناصر تستلزم استعلامات DNS.
ip4ip4:203.0.113.0/24يسمح مباشرة بعنوان IPv4 أو نطاق CIDR، من دون استعلام DNS.
ip6ip6:2001:db8::/32يؤدي الوظيفة نفسها لعناوين IPv6.
-all-allيعيد fail للمرسِلين غير المطابقين. يقرر المستقبِل الإجراء النهائي. يُنظر فيه بعد التأكد من جميع المرسِلين الشرعيين.
~all~allيعيد softfail للمرسِلين غير المدرجين. لا يضمن التسليم، ويمكن استخدامه في انتقال مدروس.

الخطوة 3: إعداد SPF بحسب مزود الخدمة

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

السيناريو A: TrekMail Managed SMTP في خطتَي Starter وAgency

إذا كان Managed SMTP متاحًا ومفعّلًا في خطتك الحالية، وكان TrekMail جهة الإرسال الوحيدة، فقد يكون المثال التالي أساسًا مناسبًا. راجع تعليمات DNS الحالية في حسابك:

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

يدير TrekMail عناوين IP المرتبطة بهذا المسار. أدرج أيضًا أي خدمات أخرى مخولة بالإرسال.

السيناريو B: TrekMail BYO SMTP مع إعداد إرسال خاص بك

إذا استخدمت TrekMail لصندوق الوارد وربطت مزود SMTP خاصًا للإرسال، فاتبع تعليمات ذلك المزود الخاصة بهوية مرسِل المغلف المستخدمة. تعتمد مرحلة التسليم النهائية على عناوين IP التابعة له. قد لا تناسب الأمثلة التالية كل حساب أو إعداد return-path.

# Amazon SES
v=spf1 include:amazonses.com -all

# SendGrid
v=spf1 include:sendgrid.net -all

السيناريو C: Google Workspace

v=spf1 include:_spf.google.com -all

السيناريو D: Microsoft 365

v=spf1 include:spf.protection.outlook.com -all

السيناريو E: إعداد مختلط، TrekMail مع منصة تسويق

هل تستخدم TrekMail لبريد الفريق وHubSpot للحملات؟ ادمج العناصر المطلوبة في سجل واحد. يتضمن المثال التالي قيمة HubSpot توضيحية مرتبطة بحساب:

v=spf1 include:spf.trekmail.net include:456789.spf05.hubspotemail.net -all

قيمة include في HubSpot خاصة ببوابتك. احصل على قيمتك من شاشة إعدادات DNS في HubSpot، ولا تنسخ قيمة دليل عام كما هي.

الخطوة 4: انشر السجل في DNS

انشر سياسة SPF كسجل TXT لدى مزود DNS لنطاقك. سجّل الدخول إلى Cloudflare أو Namecheap أو GoDaddy أو Route 53، أو إلى الخدمة التي تدير DNS بالفعل. إذا كان سجل SPF موجودًا، فعدّله بدل إنشاء سجل ثانٍ.

  1. النوع: TXT
  2. المضيف/الاسم: @، أو اتركه فارغًا بحسب المزود والنطاق المقصود
  3. القيمة: سلسلة SPF الكاملة، مثل v=spf1 include:spf.trekmail.net -all
  4. TTL: 3600 ثانية (1 ساعة)

بعد مراجعة مفوّضة للمرسِلين القدامى والجدد، استبدل محتوى السجل الموجود بالقيمة المدمجة. لا تضف سجل SPF ثانيًا، ولا تحذف سجلات TXT الأخرى المستخدمة للتحقق من النطاق. بعد الحفظ، تأكد من وجود سجل واحد لاسم النطاق الصحيح. قد تبقى القيم القديمة المخزنة مؤقتًا سارية حتى تنتهي مدة TTL السابقة.

الخطوة 5: تحقق من سجل SPF

تحقق من قيمة DNS عبر سطر الأوامر بعد النشر. يساعد ذلك على مقارنة نتائج أدوات الويب، لكنه لا يتجاوز كل التخزين المؤقت؛ فقد تستخدم هذه الأوامر محلّل DNS يخزن النتائج. وهي لا تُظهر بالضرورة ما يراه كل مستقبِل في اللحظة نفسها.

# Mac, Linux, or Windows PowerShell
nslookup -q=txt yourdomain.com

# Linux/Mac alternative
dig txt yourdomain.com +short

راجع هذه النقاط الثلاث:

  • وجود سجل SPF واحد فقط يبدأ بـ v=spf1
  • وجود جميع آليات include المطلوبة
  • انتهاء السجل بالمُحدِّد المقصود، -all أو ~all

إذا وجدت سجلين منفصلين يبدأان بـ v=spf1، فادمج المرسِلين المخوّلين في سجل واحد، ثم احذف السجل المكرر الزائد فقط. لا تثبت أسطر العرض المتعددة أو المقاطع المقتبسة وحدها وجود تكرار. افحص أيضًا تقييم SPF المتداخل ومصادقة رسائل فعلية ومحاذاة DMARC.

معالجة أخطاء SPF الشائعة

تندرج كثير من مشكلات SPF ضمن الفئات الثلاث التالية. استخدم رسالة الخطأ الكاملة ونتائج المصادقة وفحص DNS لتحديد السبب، بدل الاكتفاء برمز SMTP.

1. حد 10 عناصر تستلزم استعلامات DNS، PermError

يسمح SPF أثناء التقييم بـ 10 عناصر كحد أقصى تستلزم استعلامات DNS. تشمل هذه العناصر include وa وmx وptr وexists وredirect. تُحتسب أيضًا العناصر في التقييمات المتداخلة؛ فالحد ليس مجرد عدد حزم DNS. يؤدي تجاوز 10 عناصر إلى PermError، وقد يرفض المستقبِل الرسائل بناءً عليه.

العَرَض: تُظهر أداة التحقق PermError أو "too many DNS lookups".

الحل: فكّر في نقل خدمات مثل Mailchimp أو Zendesk إلى نطاق فرعي مثل support.yourdomain.com. لهذا النطاق ميزانية مستقلة من 10 عناصر تستلزم استعلامات DNS. يجب حينئذ ضبط هوية MAIL FROM أو return-path الفعلية لاستخدام هذا النطاق الفرعي، مع مراجعة محاذاة DMARC. إضافة سجل TXT منفصل وحدها لا تنقل تقييم SPF إلى النطاق الفرعي.

2. صناديق Microsoft الشخصية، 550 5.7.515

لا يثبت الرمز 550 5.7.515 أن SPF صحيح أو أن سمعة IP هي السبب. اقرأ استجابة Microsoft كاملة. للمرسِلين بكميات كبيرة إلى صناديق Outlook.com الشخصية، يجب أن ينجح SPF وDKIM معًا، وأن ينجح DMARC بمحاذاة فحص ناجح واحد على الأقل. يختلف ذلك عن قاعدة DMARC العامة التي يكفي فيها نجاح SPF أو DKIM مع المحاذاة. حتى نجاح المصادقة لا يضمن الوصول إلى صندوق الوارد؛ فقد تؤثر السمعة والمرشحات الأخرى. راجع أساسيات أمان بريد الأعمال لإعداد DKIM وDMARC.

3. الفرق بين SoftFail مع ~all وHardFail مع -all

المُحدِّدما يبلغه للمستقبِلمتى يُستخدم؟
~all (SoftFail)يعيد softfail للمرسِل غير المطابق، ويترك قرار التسليم للمستقبِل.أثناء انتقال مدروس ومراجعة المرسِلين، مثل فترة من 2 إلى 4 أسابيع إذا ناسبت بيئتك.
-all (HardFail)يعيد fail للمرسِل غير المطابق، ولا يضمن الرفض التلقائي.بعد تأكيد جميع المرسِلين الشرعيين والتأكد من ملاءمة السياسة للتشغيل.

يعيد ~all نتيجة SoftFail، بينما يعيد ?all نتيجة Neutral، وهي ليست نتيجة SPF fail سلبية، بل تعني أن السياسة لا تحكم على صلاحية المرسِل. لكن SPF وحده لا يمنع انتحال عنوان المرسِل الظاهر. بعد التحقق من جميع جهات الإرسال، يمكنك النظر في استخدام -all إلى جانب DKIM وDMARC.

إعداد SPF باستخدام TrekMail

تستهلك إدارة DNS وتحليل أخطاء SMTP وقتًا. إذا كان معالج إعداد SPF وDKIM وDMARC متاحًا في حسابك الحالي، فقد يساعدك على اختيار الإعداد المناسب لـ Managed SMTP أو BYO. يقارن فحص DNS السجلات بالقيم المتوقعة؛ ولا يثبت صحة توقيع رسالة أو محاذاة DMARC أو وصولها إلى صندوق الوارد. طابق القيم وافحص رسائل فعلية من بيئة الإرسال.

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

يذكر العرض التاريخي Starter من $3.50 شهريًا مع Managed SMTP، وNano كخيار استقبال مجاني من دون بطاقة ائتمان أو انتهاء فترة تجريبية، وتجربة مجانية لمدة 14 يومًا للخطط المدفوعة تتطلب بطاقة ائتمان. تحقق قبل التسجيل من الأسعار والتوافر والصلاحيات والحدود والشروط الحالية. في نموذج Nano الموصوف فقط، تحتاج جميع الرسائل الصادرة، بما فيها الردود، إلى SMTP خارجي خاص بك؛ أما الإرسال المُدار في الخطط المدفوعة فيعتمد على الصلاحيات والإعداد الفعليين. تعرّف على TrekMail.

قائمة التحقق الكاملة لإعداد SPF

راجع الخطوات السبع التالية قبل الانتهاء. قد يكتمل الإعداد البسيط خلال 15 دقيقة، لكن تعدد خدمات الإرسال ووجود نتائج DNS مخزنة مؤقتًا قد يستلزمان وقتًا إضافيًا للتحقق.

  1. حصر جميع الخدمات التي تستخدم نطاقك في مرسِل المغلف
  2. التأكد من عدم وجود سجل SPF، أو وجود سجل واحد فقط لا سجلين
  3. إنشاء قيمة v=spf1 واحدة مدمجة تشمل جميع المزودين المطلوبين
  4. نشرها كسجل TXT عند @ للنطاق المقصود، مع TTL بقيمة 3600
  5. تحديث السجل الموجود من دون حذفه أولًا وترك فجوة في سياسة SPF
  6. التحقق باستخدام dig txt yourdomain.com +short
  7. تأكيد وجود سجل SPF واحد يبدأ بـ v=spf1 وينتهي بالمُحدِّد المختار -all

نظّم إعداد DNS بثقة. ابدأ الإرسال مع TrekMail.

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

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

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

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

أو

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

أو

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

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

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