อีเมลของคุณอาจแสดงเครื่องหมายถูกสีเขียวสำหรับ SPF และ DKIM แต่ยังคงถูกระบุว่าไม่ผ่าน DMARC ซึ่งความไม่สอดคล้องกันนี้ช่วยให้ข้อความปลอมแปลงหลุดรอดไปได้และส่งผลเสียต่อความสามารถในการส่งถึงผู้รับ (deliverability) สาเหตุคือ alignment (ความสอดคล้อง) ซึ่งเป็นกฎที่บังคับให้โดเมนที่ทำการยืนยันตัวตนของข้อความต้องตรงกับที่อยู่ที่แสดงในส่วนหัว From

ทำไม SPF และ DKIM เพียงอย่างเดียวจึงไม่เพียงพอ

SPF (Sender Policy Framework) จะตรวจสอบความถูกต้องของที่อยู่ Return-Path ซึ่งเป็นผู้ส่งในซองจดหมาย (envelope sender) ที่ใช้สำหรับการตีกลับ (bounces) บ่อยครั้งที่ที่อยู่นั้นเป็นของผู้ให้บริการส่งอีเมล มากกว่าที่จะเป็นแบรนด์ที่คุณเห็นในกล่องขาเข้า

DKIM (DomainKeys Identified Mail) จะตรวจสอบโดเมนที่แนบมากับลายเซ็นดิจิทัล (cryptographic signature) ในส่วนหัว โดยผู้ลงนามอาจเป็นโดเมนของผู้ส่งเองหรือโดเมนของผู้ให้บริการภายนอก

การตรวจสอบทั้งสองอย่างอาจผ่าน แต่ DMARC (Domain-based Message Authentication, Reporting & Conformance) จะยังคงรายงานว่าล้มเหลว หากทั้ง Return-Path และโดเมนที่ลงนาม DKIM ไม่สอดคล้องกับที่อยู่ที่แสดงใน From

ความล้มเหลวในการทำ alignment ที่พบบ่อยที่สุด 4 ประการ

  • โดเมนที่เป็นของตัวผู้ให้บริการ (Provider-owned domains) – แพลตฟอร์มส่งอีเมลจำนวนมาก (bulk-mail) มักจะตั้งค่า Return-Path ของตนเองและลงนามด้วยคีย์ DKIM ของตนเอง หากคุณไม่เปลี่ยนสิ่งเหล่านี้เป็นโดเมนของคุณเอง DMARC จะมองว่าข้อมูลไม่ตรงกัน
  • การส่งต่ออีเมล (Email forwarding) – เมื่อเซิร์ฟเวอร์ปลายทางส่งต่อข้อความ การตรวจสอบ SPF มักจะล้มเหลวเนื่องจาก IP ที่ส่งต่อไม่ได้ระบุไว้ในระเบียน SPF ของคุณ หากลายเซ็น DKIM ถูกเปลี่ยนแปลงระหว่างทางด้วย DMARC ก็จะไม่มีข้อมูลอื่นให้ใช้ยืนยันได้เลย
  • DKIM เสียหาย (Broken DKIM) – การตั้งค่าคีย์ผิดพลาดหรือข้อผิดพลาดของ DNS อาจทำให้ DKIM ล้มเหลว ในกรณีนั้น DMARC จะต้องพึ่งพา SPF และหาก Return-Path ของ SPF ไม่สอดคล้องกัน คุณก็จะล้มเหลวอีกครั้ง
  • โหมดการทำ alignment แบบเข้มงวด (Strict alignment mode) – การตั้งค่า aspf=s หรือ adkim=s จะบอกให้ DMARC ต้องการโดเมนที่ตรงกันทุกประการ ไม่ใช่แค่ความสัมพันธ์แบบโดเมนหลัก (parent-domain) แม้แต่ซับโดเมนที่ต่างกันเพียงแค่จุดเดียวก็จะทำให้เกิดความล้มเหลว

วิธีตรวจหาปัญหา

เปิดดูซอร์สโค้ดดิบ (raw source) ของข้อความที่มีปัญหา และค้นหาส่วนหัว Authentication-Results ซึ่งจะแสดงผลลัพธ์ของการตรวจสอบ SPF, DKIM และ DMARC พร้อมกับโดเมนที่แต่ละการทดสอบได้ประเมินไว้

  • เปรียบเทียบ smtp.mailfrom (Return-Path) กับโดเมนในส่วนหัว From
  • เปรียบเทียบแท็ก header.d ภายในบล็อก DKIM-Signature กับโดเมนใน From

หากการเปรียบเทียบทั้งสองอย่างไม่พบความสอดคล้องกัน แสดงว่าปัญหาเกิดจาก alignment

วิธีแก้ไขเพื่อให้ DMARC ผ่าน

  1. ใช้ Return-Path ที่สอดคล้องกัน – แพลตฟอร์มการส่งส่วนใหญ่จะอนุญาตให้คุณประกาศใช้โดเมนสำหรับการตีกลับ (bounce domain) แบบกำหนดเอง ให้ชี้โดเมนนั้นไปยังโซน DNS ที่คุณควบคุมได้และเพิ่มเข้าไปในระเบียน SPF ของคุณ
  2. ใช้ลายเซ็น DKIM ที่สอดคล้องกัน – ตั้งค่าแท็ก d= ในลายเซ็น DKIM ให้เป็นโดเมนของคุณเอง (หรือซับโดเมนที่คุณเป็นเจ้าของ) และประกาศใช้คีย์สาธารณะ (public key) ที่เกี่ยวข้องใน DNS เนื่องจาก DKIM สามารถทำงานได้ในสถานการณ์การส่งต่อส่วนใหญ่ จึงเป็นวิธีที่น่าเชื่อถือที่สุดในการทำให้เกิด alignment

บทสรุป

การผ่าน SPF และ DKIM เป็นเพียงครึ่งทางของการต่อสู้เท่านั้น หากไม่มีการทำ domain alignment ตัว DMARC จะยังคงระบุว่าข้อความของคุณไม่ได้รับการยืนยันตัวตน ให้ทำ alignment ระหว่าง Return-Path หรือโดเมนที่ลงนาม DKIM กับที่อยู่ที่แสดงใน From ตรวจสอบการตั้งค่าในส่วนหัวดิบของคุณ และปรับความเข้มงวดตามความจำเป็น เมื่อการทำ alignment เรียบร้อยแล้ว DMARC จะรายงานว่าผ่าน ซึ่งจะช่วยปกป้องแบรนด์ของคุณและเพิ่มโอกาสในการเข้าถึงกล่องขาเข้า