أبرز النقاط

  • SPF (RFC 7208): ينشر قائمة عناوين IP وخدمات الإرسال المصرّح لها بإرسال البريد باسم نطاقك في عنوان المرسِل الخاص بالمغلّف (Return-Path).
  • DKIM (RFC 6376): يستخدم زوجًا من المفاتيح غير المتماثلة لإضافة توقيع تشفيري إلى كل رسالة، يُثبت أن النطاق الموقِّع قد أجازها وأنها لم تُعدَّل أثناء النقل.
  • DMARC (RFC 7489): يُبلغ الخوادم المستقبِلة بكيفية التعامل مع الرسائل التي تفشل في محاذاة SPF وDKIM (none أو quarantine أو reject)، ويحدد الجهة التي تُرسَل إليها التقارير المجمّعة.
  • منذ فبراير 2024، تشترط Gmail وYahoo على المرسِلين بكميات كبيرة (وتعرّفهم Gmail بمن يرسلون أكثر من 5,000 رسالة يوميًا إلى حسابات Gmail الشخصية) المصادقة عبر SPF وDKIM معًا، ونشر سجل DMARC (بسياسة p=none على الأقل)، ومحاذاة نطاق المرسِل (From) مع SPF أو DKIM.

عندما يستقبل خادم بريد مثل Google Workspace أو Microsoft 365 أو Yahoo Mail رسالةً من contact@yourcompany.com، تُجري منظومة التصفية لديه سلسلة من الفحوص التقنية لتحديد ما إذا كانت الرسالة صادرة فعلًا عن المالك الشرعي لهذا النطاق، أم أنها محاولة انتحال أو تصيّد احتيالي.

وإذا كان نطاقك يفتقر إلى سجلات المصادقة المطلوبة في نظام أسماء النطاقات (DNS)، فستُعامَل الرسالة على أنها عالية المخاطر، والأرجح أن ينتهي بها المطاف في مجلد البريد العشوائي أو أن تُرفض مباشرةً على مستوى SMTP، فتسجّلها منصة الإرسال لديك كرسالة مرتدّة.

1. الآليات الثلاث الأساسية لمصادقة البريد الإلكتروني

لفهم كيفية تكامل أنظمة أمان البريد الإلكتروني، من المفيد التعرّف على الدور المستقل والمكمّل الذي يؤديه كل بروتوكول:

SPF (Sender Policy Framework)

يعمل SPF كقائمة سماح علنية منشورة في سجلات DNS الخاصة بك. يحدد السجل الخوادم المسموح لها بالإرسال نيابةً عن نطاقك، سواء بعنوان IP أو بآلية include تشير إلى مزوّد مثل Amazon SES أو SendGrid أو Mailgun. وتتحقق الخوادم المستقبِلة من SPF مقابل نطاق مرسِل المغلّف (MAIL FROM / Return-Path)، لا مقابل عنوان From الظاهر للمستلم.

DKIM (DomainKeys Identified Mail)

يتحقق DKIM من سلامة الرسالة. فعند مغادرة الرسالة خادمَ الإرسال، يُولَّد توقيع رقمي بمفتاح خاص ويُضاف إليها في ترويسة DKIM-Signature. ثم يستعيد الخادم المستقبِل المفتاح العام المقابل من سجلات DNS الخاصة بك ويستخدمه للتحقق من التوقيع، مما يؤكد أن الترويسات الموقَّعة ومتن الرسالة لم يُزوَّرا أو يُعدَّلا في الطريق.

DMARC (Domain-based Message Authentication, Reporting, and Conformance)

DMARC هو الطبقة التي تربط SPF وDKIM معًا. فهو يُلزم الخادم المستقبِل بالتحقق مما إذا كان النطاق الوارد في عنوان المرسِل الظاهر (Header From) يطابق النطاق الذي صادق عليه SPF أو DKIM، وهو فحص يُعرف بالمحاذاة (Alignment). وتجتاز الرسالة DMARC إذا نجح أحد البروتوكولين على الأقل وكان متحاذيًا. كما يحدد DMARC ما ينبغي للخادم المستقبِل فعله عند فشل المصادقة، ويوفّر قناة لتلقي التقارير المجمّعة (RUA).

2. بنية سجل SPF وصياغته

يُنشر سجل SPF كسجل TXT على النطاق المستخدم في عنوان مرسِل المغلّف. وبالنسبة إلى البريد المرسَل من خوادمك الخاصة أو من Google Workspace، يكون هذا عادةً النطاق الجذر:

Record Type: TXT
Host / Name: @ (or yourcompany.com)
Value / Content: v=spf1 include:amazonses.com ~all

دلالة كل جزء من السجل:

  • v=spf1: يحدد إصدار SPF المستخدم، ويجب أن يكون أول عنصر في السجل.
  • include:amazonses.com: يُجيز لنطاقات عناوين IP الخاصة بخدمة Amazon Simple Email Service (SES) إرسال البريد باسم النطاق. وإذا كنت تستخدم SendGrid أيضًا، فالمكافئ هو include:sendgrid.net. لاحظ أنه مع Amazon SES لا يتحاذى SPF لأغراض DMARC إلا إذا هيّأت نطاقًا فرعيًا مخصصًا لـ MAIL FROM (مثل bounce.yourcompany.com) ونشرت هذا السجل على ذلك النطاق الفرعي إلى جانب سجل MX الذي توفّره SES. أما مع مصادقة النطاق في SendGrid وتفعيل خيار الأمان المؤتمت، فإن SendGrid تدير SPF لنطاقها الفرعي الخاص بمسار الارتداد (Return-Path) عبر سجل CNAME، فلا حاجة إلى إضافة include على مستوى النطاق الجذر.
  • ~all (SoftFail): يشير إلى أن البريد الوارد من خوادم غير مدرجة في القائمة ينبغي التعامل معه بريبة، لكنه يُقبل في الغالب. وهو الخيار الأكثر شيوعًا، لا سيما أثناء حصر مصادر الإرسال لديك.
  • -all (HardFail): يشير إلى أن البريد الوارد من مصادر غير مصرّح لها يُعدّ فشلًا قاطعًا، وقد ترفضه الخوادم المستقبِلة، وإن كان كثير من كبار مزوّدي صناديق البريد باتوا يعتمدون على نتيجة DMARC بدلًا من الرفض استنادًا إلى SPF وحده.
ملاحظة تقنية مهمة: وفقًا لمعيار RFC 7208، يجب أن ينشر النطاق سجل SPF واحدًا فقط؛ إذ يؤدي تعدد السجلات إلى خطأ دائم (permerror). كما يقتصر التقييم على 10 عمليات استعلام DNS كحد أقصى (تُحتسب فيها include وa وmx وptr وexists وredirect، بما في ذلك الاستعلامات المتداخلة). وإذا كانت عدة خدمات ترسل من النطاق نفسه (مثل Google Workspace وAmazon SES)، فادمجها في سجل واحد: v=spf1 include:_spf.google.com include:amazonses.com ~all.

3. إعداد DKIM

يتضمن إعداد DKIM عادةً توليد زوج مفاتيح RSA، ويُعدّ طول 2048 بت الحد الأدنى الموصى به حاليًا. وعند ربط مزوّد إرسال عبر eMailBase:

  1. يُولّد المزوّد سجلات DNS الخاصة بمحدِّدات DKIM لديه. إذ تُصدر ميزة Easy DKIM في Amazon SES ثلاثة سجلات CNAME بالصيغة <token>._domainkey.yourcompany.com؛ وتُصدر SendGrid سجلَّي CNAME لـ DKIM (s1._domainkey وs2._domainkey) إضافةً إلى سجل لنطاقها الفرعي الخاص بمسار الارتداد؛ أما Mailgun فتوفّر عادةً سجل TXT يتضمن المفتاح العام.
  2. سجّل الدخول إلى لوحة تحكم مزوّد DNS لديك، وأنشئ كل سجل تمامًا كما صدر.
  3. يستعلم eMailBase عن سجلات DNS تلقائيًا ويؤكد التفعيل بمجرد انتشار السجلات.

4. تطبيق سياسة DMARC بأمان وعلى مراحل

قد يؤدي نشر سياسة DMARC صارمة منذ اليوم الأول إلى رفض رسائل مشروعة إذا كان أيٌّ من مصادر الإرسال غير مغطّى بالكامل بعدُ بـ SPF أو DKIM. يُنشر سجل DMARC كسجل TXT على _dmarc.yourcompany.com، ويمر التطبيق المعتاد بثلاث مراحل:

المرحلة صياغة السياسة الهدف التشغيلي
المرحلة 1: المراقبة v=DMARC1; p=none; rua=mailto:dmarc@yourcompany.com جمع التقارير المجمّعة وتحديد جميع مصادر الإرسال المشروعة دون التأثير في التسليم.
المرحلة 2: العزل v=DMARC1; p=quarantine; pct=25; rua=mailto:dmarc@yourcompany.com تطبيق سياسة العزل (التي تعني عادةً التسليم إلى مجلد البريد العشوائي) على 25% من الرسائل الفاشلة، ثم رفع النسبة تدريجيًا كلما أكدت التقارير اجتياز البريد المشروع للفحص. ويتفاوت دعم الخوادم المستقبِلة للوسم pct، وقد أسقطته مراجعة المعيار المعروفة بـ DMARCbis.
المرحلة 3: الرفض v=DMARC1; p=reject; rua=mailto:dmarc@yourcompany.com توجيه الخوادم المستقبِلة إلى رفض جميع الرسائل التي تفشل في DMARC، لمنع أي استخدام غير مصرّح به لنطاقك.

5. التحقق من سجلات DNS واستكشاف أخطائها

بعد إضافة السجلات، يمكنك التحقق منها باستخدام أدوات سطر الأوامر المعتادة:

# Check the SPF record
dig +short TXT yourcompany.com

# Check a DKIM record (replace the selector with your own)
dig +short CNAME selector._domainkey.yourcompany.com

# Check the DMARC record
dig +short TXT _dmarc.yourcompany.com

وفي مساحة العمل على eMailBase، تُجرى هذه الفحوص تلقائيًا عبر مدير DNS وقابلية التسليم، الذي ينبّهك إلى تعارضات الصياغة والسجلات المفقودة فور ظهورها.

اطّلع على المزيد حول ممارسات الإرسال المسؤول في سياسة مكافحة البريد العشوائي في eMailBase.