نظرة سريعة. نوع السجل: TXT في جذر النطاق · عدد السجلات المسموح: واحد لكل نطاق · حد البحث: 10 عمليات بحث DNS · ابدأ بـ: ~all ثم شدّد لاحقًا
الخلاصة
- ماذا يفعل سجل SPF. SPF اختصار Sender Policy Framework.
- الصياغة، قطعة قطعة. يبدأ كل سجل SPF بـ v=spf1.
- الخطوة 1: أدرج كل مرسِل. دوّن كل نظام يرسل بريدًا باسم نطاقك: خدمة الإرسال، ومزوّد صناديق البريد، وموقعك أو متجرك، ونظام CRM، ومكتب الدعم، وأي أداة للفوترة أو الموارد البشرية.
- الخطوة 2: ابنِ السجل. ابدأ بـ v=spf1، وأضف include أو ip4 واحدًا لكل مرسِل، واختم بـ ~all.
- الخطوة 3: انشره في DNS. أضف سجل TXT في جذر نطاقك.
- الخطوة 4: اختبره. استخدم أداة بحث للتأكد من نشر السجل وسلامة تحليله، ثم أرسل رسالة اختبار إلى صندوق بريد تتحكم به واقرأ نتائج المصادقة في ترويستها.
ماذا يفعل سجل SPF
SPF اختصار Sender Policy Framework. وهو سجل TXT في DNS الخاص بنطاقك يسرد الخوادم التي يجوز لها إرسال بريد باستخدام نطاقك. عند وصول رسالة، يبحث الخادم المستقبِل عن سجل SPF الخاص بنطاق المرسِل ويفحص ما إذا كان عنوان IP المتصل مدرجًا في القائمة.
يفحص SPF مرسِل المغلف (envelope sender)، ويسمى أيضًا عنوان Return-Path أو MAIL FROM، لا عنوان From الذي يراه الناس. وهذا التمييز مهم لاحقًا عندما نصل إلى تطابق DMARC.
الصياغة، قطعة قطعة
يبدأ كل سجل SPF بـ v=spf1. بعد ذلك تأتي الآليات، وكل منها يسمّي مصدرًا للبريد، وينتهي السجل بآلية all التي تحدد ما يُفعل بكل ما عداها. تسرد ip4 وip6 عناوين أو نطاقات عناوين. ويستدعي include سجل SPF لنطاق آخر، وبهذه الطريقة تفوّض خدمة إرسال. وتفوّض a وmx عناوين خوادم الويب أو البريد الخاصة بنطاقك.
v=spf1 ip4:203.0.113.10 include:YOUR_SPF_HOST ~all
يمكن أن تسبق كل آلية علامة تأهيل (qualifier). علامة الزائد تعني النجاح وهي الافتراضية. وعلامة الناقص تعني الفشل، والتلدة (~) تعني الفشل الناعم، وعلامة الاستفهام تعني الحياد. لذا فإن ~all تقول إن كل ما ليس مدرجًا مشبوه لكنه غير ممنوع، و-all تقول إنه يجب رفضه.
الخطوة 1: أدرج كل مرسِل
دوّن كل نظام يرسل بريدًا باسم نطاقك: خدمة الإرسال، ومزوّد صناديق البريد، وموقعك أو متجرك، ونظام CRM، ومكتب الدعم، وأي أداة للفوترة أو الموارد البشرية. يجب أن يغطيها SPF كلها في سجل واحد، لذا فالقائمة غير المكتملة تعطّل ما نسيته.
يوثّق كل مزوّد قيمة include التي يجب استخدامها. وفي MigoSMTP انسخ قيمة SPF الظاهرة في لوحة التحكم بدلًا من تخمينها.
الخطوة 2: ابنِ السجل
ابدأ بـ v=spf1، وأضف include أو ip4 واحدًا لكل مرسِل، واختم بـ ~all. فمثلًا، الشركة التي تستخدم مزوّد صناديق بريد وخدمة إرسال سيكون لديها includeان وخاتمة واحدة.
ضع كل شيء في سجل TXT واحد. لا تنشئ سجلًا لكل مرسِل. فهذا هو السبب الأكثر شيوعًا لفشل SPF، وسنتناوله أدناه.
الخطوة 3: انشره في DNS
أضف سجل TXT في جذر نطاقك. في كثير من لوحات DNS يكون المضيف @ أو يُترك فارغًا. الصق القيمة تمامًا كما بنيتها، دون علامات اقتباس إضافية ما لم تطلبها اللوحة. وتتبع لوحات المسجّلين الهنود مثل GoDaddy وBigRock وHostinger، ومضيفو DNS مثل Cloudflare، النمط نفسه.
إذا وُجد سجل في الجذر فعدّله بدلًا من إضافة سجل ثانٍ. وقد يستغرق انتشار التغييرات من دقائق إلى بضع ساعات، بحسب TTL الخاص بالسجل.
الخطوة 4: اختبره
استخدم أداة بحث للتأكد من نشر السجل وسلامة تحليله، ثم أرسل رسالة اختبار إلى صندوق بريد تتحكم به واقرأ نتائج المصادقة في ترويستها. ابحث عن spf=pass. وتعرض أداتنا المجانية سجلات SPF وDKIM وDMARC في مكان واحد وتنبّه إلى الأخطاء الشائعة.
اختبر من كل نظام يرسل، لا من نظام واحد فقط. فنجاح خدمة الإرسال لا يقول شيئًا عن أداة الفوترة.
الخطأ 1: أكثر من سجل SPF واحد
يجب أن ينشر النطاق سجل SPF واحدًا بالضبط. وجود سجلين يجعل SPF يعيد خطأً دائمًا، وتعدّه الجهات المستقبِلة فشلًا. إذا أضاف كل فريق سجله الخاص، فادمجها في سجل واحد يحتوي على كل الـ includes.
يسهل أن يحدث هذا عند إضافة أداة جديدة تقول تعليماتها أن تنشئ سجل TXT جديدًا. اقرأ ما هو موجود أولًا.
الخطأ 2: عمليات بحث DNS كثيرة جدًا
يسمح SPF بعشر عمليات بحث DNS على الأكثر أثناء تقييم السجل. تُحسب كل آلية include وa وmx وما شابهها، وتُحسب الـ includes المتداخلة أيضًا. أما ip4 وip6 فلا. وتجاوز العشر يجعل SPF يعيد خطأً دائمًا، فيفشل الفحص مع أن كل جزء بدا سليمًا.
أزل المرسِلين الذين لم تعد تستخدمهم، واستبدل آليتي a وmx بنطاقات ip4 صريحة حيث تكون العناوين ثابتة، وتجنب تكديس includes كثيرة. تقدم بعض الخدمات تسطيح SPF (SPF flattening)، الذي يستبدل الـ includes بعناوين. وهو يعمل، لكن العناوين تتغير مع الوقت، فيحتاج إلى تحديث دائم.
الخطأ 3: اختيار -all مبكرًا جدًا
الفشل الصارم بـ -all يطلب من الجهات المستقبِلة رفض كل ما ليس مدرجًا. وإذا كان ينقص قائمتك مرسِل فسيُرفض بريده. تبدأ معظم الفرق بـ ~all، وتراقب تقارير DMARC بضعة أسابيع، ولا تشدّد إلا بعد التأكد من إدراج كل مرسِل.
وأيًّا كان اختيارك، فإن SPF وحده لا يحدد موضع الرسالة في صندوق الوارد. إنه إشارة واحدة تعمل مع DKIM وDMARC.
لماذا يفشل SPF في البريد المعاد توجيهه
عندما يعيد شخص ما توجيه رسالتك، تُرسل من خادم المُعيد توجيهها، وهو ليس في سجلك، فيفشل SPF عند الوجهة النهائية. وهذا طبيعي وليس خطأً من جانبك.
ولهذا يهم DKIM. فتوقيع DKIM يبقى عادةً بعد إعادة التوجيه، وينجح DMARC إذا نجح SPF أو DKIM وتطابق. اضبط الاثنين.
مراجع ومصادر إضافية
- RFC 7208: إطار سياسة المرسِل (SPF)
- Google Workspace: تعريف سجل SPF الخاص بك
- Microsoft: إعداد SPF للمساعدة في منع انتحال الهوية
طبّقه في MigoSMTP: مقالات مركز المساعدة
- إصلاح permerror في SPF وحد 10 عمليات بحث
- التحقق من نطاق الإرسال: سجلات DNS والانتشار
- مصادقة نطاق إرسال في MigoSMTP: SPF وDKIM وDMARC
أدلة وأدوات ذات صلة
- فاحص سجل SPF: ابحث عن سجل واحسب عمليات بحث DNS فيه.
- مولّد سجل SPF: أنشئ سجلًا من مرسِليك.
- إعداد DKIM وSPF وDMARC: صادق على نطاقك من البداية إلى النهاية.
لست متأكدًا من صحة سجلاتك؟ شغّل أداتنا المجانية للفحص، أو أرسل إلينا ترويسة وسنساعدك في قراءتها.
الأسئلة الشائعة
ما هو سجل SPF؟
سجل SPF هو سجل DNS من نوع TXT يسرد الخوادم المسموح لها بإرسال البريد لنطاقك. تفحصه الجهات المستقبِلة مقابل عنوان IP المتصل عند وصول رسالة.
كم سجل SPF يمكن أن يملك النطاق؟
واحدًا. وجود سجلي SPF يسبب خطأً دائمًا. ادمج جميع مرسِليك في سجل واحد.
ما هو حد 10 عمليات بحث في SPF؟
قد يُطلق تقييم SPF عشر عمليات بحث DNS على الأكثر. تُحسب كل آلية include وa وmx، بما فيها المتداخلة. وتجاوز الحد يسبب خطأً دائمًا.
هل أستخدم ~all أم -all؟
تبدأ معظم الفرق بـ ~all أثناء التأكد من إدراج كل مرسِل، ثم تفكر في -all عندما تتأكد. ويوفر DMARC مع DKIM حماية إضافية في الحالتين.