لماذا تهمّ SPF وDKIM وDMARC
صُمّم البريد الإلكتروني دون التحقق من هوية المرسل، فيستطيع أي شخص وضع نطاقك في سطر «From». وتعالج ذلك ثلاثة معايير قائمة على DNS. ومنذ فبراير 2024 تشترطها Google وYahoo على مرسلي البريد بالجملة، وأصبح غياب هذه السجلات سببًا شائعًا لوصول البريد المشروع إلى مجلد الرسائل غير المرغوب فيها.
- SPF يسرد الخوادم المسموح لها بإرسال البريد باسم نطاقك، في سجل TXT يبدأ بـ
v=spf1. - DKIM يضيف توقيعًا تشفيريًا إلى كل رسالة؛ ويتحقق المستلمون منه بمفتاح عام منشور في
selector._domainkey.yourdomain. - DMARC (في
_dmarc.yourdomain) يخبر المستلمين بما يفعلونه عندما لا يتوافق SPF وDKIM مع نطاق From (noneأوquarantineأوreject) وإلى أين تُرسل التقارير.
ما الذي تختبره هذه الأداة
- وجود SPF، ووجود سجل واحد فقط، وانتهاؤه بـ
~allأو-all(وليس+allأبدًا)، وبقاء إجمالي استعلامات DNS، بما فيها آلياتinclude:المتداخلة، ضمن حد RFC 7208 البالغ 10. - مفاتيح DKIM على المحدِّد (selector) الذي تدخله، أو على اثني عشر محدِّدًا شائعًا تستخدمها Google Workspace وMicrosoft 365 وخدمات الإرسال المعروفة.
- وجود DMARC، وسلامة السياسة، وانطباقها على 100% من البريد، وإرسال التقارير المجمّعة لتعرف من يرسل باسمك.
أمثلة على السجلات
example.com. TXT "v=spf1 include:_spf.example.net ip4:192.0.2.0/24 -all"
_dmarc.example.com. TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; adkim=s"
s1._domainkey.example.com. TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqh…"
خطة التطبيق الموصى بها
- انشر SPF بحيث يغطي كل خدمة ترسل باسمك، وينتهي بـ
~all. - فعّل توقيع DKIM لدى كل مزوّد.
- انشر DMARC بالقيمة
p=noneمع عنوانrua، وراجع التقارير لمدة أسبوعين إلى أربعة أسابيع. - انتقل إلى
p=quarantineثم إلىp=rejectمتى اجتاز كل البريد المشروع الفحص.
الشرح الكامل: شرح SPF وDKIM وDMARC.
الأسئلة الشائعة
هل أستخدم ~all أم -all؟
مع وجود DMARC يصلح كلاهما؛ فـDMARC هو الذي يحدد النتيجة. تُعد ~all نقطة بداية أكثر أمانًا، أما -all فهي أشد صرامة متى تأكدت من إدراج كل المرسلين.
ماذا يعني «too many DNS lookups» (عدد استعلامات DNS كبير جدًا)؟
يستهلك كل من include وa وmx وexists وredirect استعلامًا واحدًا، بما في ذلك ما يرد داخل السجلات المضمّنة. وإذا تجاوز العدد 10 فشل SPF للجميع. أزل الخدمات غير المستخدمة أو استبدل عمليات include بنطاقات ip4/ip6.
هل تحتاج النطاقات المركونة إلى هذه السجلات؟
نعم. احمِ النطاقات التي لا ترسل بريدًا أبدًا بالسجلين v=spf1 -all وv=DMARC1; p=reject.
آخر تحديث