วิธีตั้งค่า DMARC พร้อมตัวอย่างเรคคอร์ดตั้งแต่ p=none ถึง reject

การตั้งค่า DMARC เริ่มจากตรวจให้แน่ใจว่า SPF และ DKIM ผ่านสำหรับทุกบริการที่ส่งในนามโดเมนของคุณ จากนั้นเผยแพร่เรคคอร์ด TXT ที่ _dmarc.yourdomain เช่น v=DMARC1; p=none; rua=mailto:dmarc@yourdomain อ่านรายงานรายวันสักระยะหนึ่ง แล้วค่อยปรับนโยบายเป็น quarantine และ reject ตามลำดับ

ขั้นตอน#

  1. ตรวจ SPF และ DKIM ก่อน

    ทำรายการบริการทุกตัวที่ส่งอีเมลโดยใช้โดเมนของคุณในช่อง From แล้วยืนยันว่าแต่ละตัวผ่าน SPF หรือ DKIM สำหรับโดเมนของคุณเอง Google แนะนำให้ตั้งค่าทั้งสองอย่างน้อย 48 ชั่วโมงก่อนเปิด DMARC S3

  2. เลือกกล่องอีเมลสำหรับรับรายงาน

    สร้างที่อยู่ เช่น dmarc@ninefold.example หรือใช้บริการอ่านรายงาน DMARC รายงานจะมาเป็นไฟล์ XML แบบบีบอัด S2

  3. เผยแพร่เรคคอร์ดสำหรับเฝ้าดู

    เพิ่มเรคคอร์ด TXT ที่โฮสต์ _dmarc ด้วยค่า v=DMARC1; p=none; rua=mailto:dmarc@ninefold.example นโยบาย none ไม่เปลี่ยนวิธีจัดการอีเมลแต่อย่างใด S1

  4. ตรวจเรคคอร์ด

    รัน dig +short TXT _dmarc.ninefold.example หรือใช้เครื่องมือ DNS lookup แล้วตรวจว่ามีเรคคอร์ดคืนมาเพียงรายการเดียว และขึ้นต้นด้วย v=DMARC1

  5. อ่านรายงาน

    ตรวจรายงานแบบรวม (aggregate) จนผู้ส่งที่ถูกต้องทุกรายแสดง SPF หรือ DKIM ที่สอดคล้องกัน Google แนะนำอย่างน้อยหนึ่งสัปดาห์ ส่วน RFC 9989 แนะนำราวหนึ่งเดือนก่อนบังคับใช้ S1S3

  6. ขยับไป quarantine

    เปลี่ยนนโยบายเป็น p=quarantine อีเมลที่ไม่ผ่านจะไปอยู่ในโฟลเดอร์สแปม และอ่านรายงานต่อไป

  7. ขยับไป reject

    หลังผ่านช่วงเวลาใกล้เคียงกันโดยรายงานยังเรียบร้อย ให้เปลี่ยนเป็น p=reject ผู้รับจะปฏิเสธอีเมลที่ไม่ผ่าน S1

สิ่งที่ต้องมีก่อนตั้งค่า DMARC#

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

สำหรับแบรนด์เสื้อผ้าขนาดเล็กอย่าง Ninefold รายชื่อผู้ส่งมักได้แก่ กล่องอีเมลของพนักงาน อีเมลคำสั่งซื้อและการจัดส่งจากแพลตฟอร์มร้านค้า ระบบตอบคำถามลูกค้า และเครื่องมืออีเมลการตลาด ทุกตัวต้องตั้งค่า SPF หรือ DKIM บน ninefold.example บทความSPF DKIM DMARC คืออะไรอธิบายการทำงานของแต่ละเรคคอร์ด

Gmail กำหนดให้ผู้ที่ส่งเกิน 5,000 ฉบับต่อวันไปยังบัญชี Gmail ส่วนบุคคลต้องมีเรคคอร์ด DMARC และยอมรับนโยบาย none S4 Yahoo ก็ขอให้ผู้ส่งจำนวนมากมีอย่างน้อย p=none เช่นกัน S5 การเผยแพร่เรคคอร์ดใช้เวลาเพียงไม่กี่นาที จึงควรตั้งค่าไว้ไม่ว่าจะส่งมากหรือน้อย

รูปแบบของเรคคอร์ด DMARC#

เรคคอร์ด DMARC คือเรคคอร์ด TXT ที่เผยแพร่ที่ _dmarc บนโดเมนของคุณ ประกอบด้วยแท็กที่คั่นด้วยเครื่องหมายอัฒภาค (;) แท็ก v=DMARC1 ต้องอยู่ลำดับแรก ไม่เช่นนั้นผู้รับจะไม่สนใจทั้งเรคคอร์ด S1 แท็กที่ร้านค้าต้องใช้มีดังนี้

แท็ก DMARC ที่ร้านค้าส่วนใหญ่ใช้
แท็กตัวอย่างหน้าที่
vv=DMARC1เวอร์ชัน ต้องเป็นแท็กแรก
pp=noneนโยบายของโดเมน: none, quarantine หรือ reject
ruarua=mailto:dmarc@ninefold.exampleที่อยู่สำหรับรับรายงานแบบรวมรายวัน
spsp=rejectนโยบายของซับโดเมนที่มีอยู่จริง หากต่างจาก p
npnp=rejectนโยบายของซับโดเมนที่ไม่มีอยู่จริง
adkim / aspfadkim=ralignment ของ DKIM และ SPF: ผ่อนปรน (ค่าเริ่มต้น) หรือเข้มงวด
tt=yโหมดทดสอบ: ขอให้ผู้รับใช้นโยบายต่ำกว่าที่ระบุหนึ่งระดับ

ไม่ต้องใส่ adkim และ aspf หากไม่มีเหตุผลเฉพาะ alignment แบบผ่อนปรนซึ่งเป็นค่าเริ่มต้นทำให้อีเมลที่ลงนามโดยซับโดเมน เช่น mail.ninefold.example สอดคล้องกับที่อยู่ From ที่ ninefold.example ได้ S1 และ Yahoo ยอมรับ alignment แบบผ่อนปรน S5

ตัวอย่างเรคคอร์ด DMARC ในแต่ละขั้น#

ตัวอย่างต่อไปนี้ใช้ ninefold.example ให้เปลี่ยนโดเมนและที่อยู่รับรายงานเป็นของคุณ แล้วเผยแพร่แต่ละแบบที่โฮสต์ _dmarc

ขั้นเฝ้าดู

v=DMARC1; p=none; rua=mailto:dmarc@ninefold.example

ขั้นกักกัน (quarantine)

v=DMARC1; p=quarantine; rua=mailto:dmarc@ninefold.example

ขั้นปฏิเสธ (reject)

v=DMARC1; p=reject; np=reject; rua=mailto:dmarc@ninefold.example

คู่มือรุ่นเก่า รวมถึงหน้าแนะนำการทยอยใช้ DMARC ของ Google ใช้ pct= เพื่อบังคับใช้กับอีเมลบางสัดส่วน S3 RFC 9989 ตัดแท็กนี้ออก เพราะผู้รับใช้งานได้อย่างแน่นอนเฉพาะที่ 0 หรือ 100 และเพิ่ม t=y สำหรับช่วงทดสอบแทน S1 ผู้รับต้องข้ามแท็กที่ไม่รู้จัก ผู้รับที่ยังไม่รองรับ np หรือ t จึงเพียงข้ามแท็กนั้นไป S1

รายงาน rua บอกอะไรคุณ#

ผู้ให้บริการกล่องจดหมายที่ส่งรายงานแบบรวมมักส่งวันละหนึ่งฉบับต่อโดเมน เป็นไฟล์ XML แบบบีบอัด S2 แต่ละรายงานระบุที่อยู่ IP ที่ส่งอีเมลโดยใช้โดเมนของคุณ จำนวนอีเมลจากแต่ละ IP ผล SPF และ DKIM สอดคล้องกันหรือไม่ และผู้รับจัดการอีเมลนั้นอย่างไร S2

  • แหล่งที่คุณรู้จักแต่ alignment ไม่ผ่าน คือผู้ส่งที่คุณลืมตั้งค่า ให้เปิด DKIM สำหรับโดเมนของคุณในบริการนั้น หรือเพิ่มลงใน SPF
  • แหล่งที่คุณไม่รู้จัก อาจเป็นบริการที่คนในทีมสมัครใช้ หรือมีคนปลอมโดเมนของคุณ ให้สอบถามในทีมก่อนบังคับใช้นโยบาย
  • อีเมลที่ถูกส่งต่อ มักไม่ผ่าน SPF แต่ผ่าน DKIM S1 เป็นเรื่องปกติ และเป็นเหตุผลหนึ่งที่ DKIM ที่สอดคล้องสำคัญที่สุด

XML ดิบอ่านด้วยตาได้ยาก ร้านค้าหลายแห่งจึงส่ง rua ไปยังบริการอ่านรายงานที่แปลงเป็นกราฟ หากบริการนั้นใช้โดเมนอื่น โดเมนนั้นต้องเผยแพร่เรคคอร์ดอนุญาต ไม่เช่นนั้นผู้รับจะไม่ส่งรายงานไปยังที่อยู่ดังกล่าว S2 บริการอ่านรายงานจะตั้งค่าส่วนนี้ไว้ฝั่งของตัวเอง

ขยับจาก p=none ไป quarantine และ reject#

ลำดับเหมือนเดิมเสมอ คือเฝ้าดู แล้วกักกัน แล้วปฏิเสธ สิ่งที่ต่างกันคือแต่ละขั้นใช้เวลานานเท่าใด Google แนะนำให้อยู่ที่ none อย่างน้อยหนึ่งสัปดาห์ S3 RFC 9989 แนะนำให้อยู่ที่ none อย่างน้อยหนึ่งเดือน และอยู่ที่ quarantine ในระยะเวลาใกล้เคียงกันก่อนไป reject S1 ร้านที่มีผู้ส่งไม่กี่รายและรายงานเรียบร้อยขยับได้เร็วกว่าร้านที่ใช้เครื่องมือนับสิบตัว

แต่ละนโยบายจัดการอีเมลที่ไม่ผ่าน DMARC อย่างไร
นโยบายอีเมลที่ไม่ผ่านควรใช้เมื่อใด
p=noneส่งถึงตามปกติ มีเพียงรายงานระหว่างค้นหาผู้ส่งทุกราย
p=quarantineถูกมองว่าน่าสงสัย มักไปอยู่ในสแปมเมื่อรายงานแสดงว่าผู้ส่งทุกรายสอดคล้องกันแล้ว
p=rejectผู้รับปฏิเสธหลังผ่านช่วง quarantine โดยรายงานเรียบร้อย

ก่อนเปลี่ยนนโยบายทุกครั้ง ให้ดูรายงานสัปดาห์ล่าสุดว่ามีแหล่งที่คุณรู้จักซึ่งยังไม่ผ่านหรือไม่ หากพนักงานโพสต์ลงเมลลิงลิสต์โดยใช้โดเมนของร้าน RFC 9989 ไม่แนะนำให้ใช้ p=reject เพราะอีเมลของลิสต์ที่ถูกปฏิเสธจะสร้างปัญหาให้ลิสต์ และอาจทำให้สมาชิกถูกถอดออก S1 กรณีนี้หยุดไว้ที่ quarantine ก็เพียงพอ

DMARC สำหรับซับโดเมน#

ซับโดเมนที่ไม่มีเรคคอร์ดของตัวเอง เช่น news.ninefold.example จะใช้นโยบายของ ninefold.example ใช้ sp เพื่อกำหนดนโยบายต่างออกไปให้ซับโดเมนที่มีอยู่จริง และ np สำหรับชื่อที่ไม่มีอยู่จริง ซึ่งเป็นช่องทางปลอมแบรนด์ที่พบบ่อย S1

บางร้านส่งอีเมลการตลาดจากซับโดเมนเพื่อแยกจากอีเมลของพนักงาน ซับโดเมนนั้นมีเรคคอร์ด _dmarc ของตัวเองได้ RFC 9989 อธิบายการทดสอบซับโดเมนด้วย p=quarantine; t=y แล้วเปลี่ยนเป็น p=reject และเอาแท็กทดสอบออก S1

ตั้งค่า DMARC ด้วย Tellnod ใน Claude หรือ ChatGPT#

Tellnod เป็นคอนเนกเตอร์ MCPสำหรับเขียน ดูตัวอย่าง และส่งอีเมลการตลาดจาก Claude หรือ ChatGPT คุณส่งได้ทันทีจากที่อยู่บนโดเมนที่ใช้ร่วมกันของ Tellnod เช่น hello@yourshop.tellnodmail.com ภายใต้ขีดจำกัด 500 ผู้รับต่อแคมเปญและ 1,000 ฉบับต่อเดือน การยืนยันโดเมนของคุณเองจะยกเลิกขีดจำกัดเหล่านี้

พิมพ์ในแชตว่า “ตั้งค่า ninefold.example เป็นโดเมนสำหรับส่งอีเมลของฉัน” Tellnod จะให้เรคคอร์ด SPF, DKIM และ DMARC และตรวจสอบให้ หากมีคนอื่นดูแล DNS ให้ขอลิงก์ตั้งค่าเพื่อส่งต่อ ผู้ดูแลเพิ่มเรคคอร์ดได้ในคลิกเดียวกับผู้ให้บริการที่รองรับ หรือคัดลอกไปใส่เอง โดยไม่ต้องสร้างบัญชี คุณจะได้รับแจ้งทั้งในแชตและทางอีเมลเมื่อยืนยันโดเมนแล้ว หากมีเรคคอร์ด DMARC อยู่แล้ว ให้คงไว้เพียงเรคคอร์ดเดียว และตรวจว่าอีเมลจาก Tellnod สอดคล้องกันก่อนปรับนโยบายให้เข้มขึ้น

ทุกแคมเปญยังผ่านการดูตัวอย่างบนเดสก์ท็อปและมือถือ และการ์ดยืนยันที่มีเพียงคุณกดได้ ทุกการส่งต้องผ่านการอนุมัติจากคุณ เชื่อมต่อ Tellnod เพื่อเริ่มใช้แพ็กเกจฟรี หรือเปรียบเทียบแพ็กเกจที่หน้าราคา สิ่งที่ Gmail และ Yahoo คาดหวังในส่วนอื่นอยู่ในคู่มือพื้นฐาน deliverability

คำถามที่พบบ่อย#

เรคคอร์ด DMARC แบบไหนเหมาะสำหรับเริ่มต้น

เริ่มด้วย v=DMARC1; p=none; rua=mailto: ตามด้วยที่อยู่ที่คุณอ่านจริง เรคคอร์ดนี้ไม่เปลี่ยนการส่งอีเมลใด ๆ และเริ่มให้รายงานรายวัน S1

p=none เพียงพอสำหรับ Gmail และ Yahoo หรือไม่

เพียงพอสำหรับข้อกำหนดผู้ส่งจำนวนมาก ทั้งสองรายยอมรับนโยบาย none ตราบใดที่โดเมนใน From สอดคล้องกับ SPF หรือ DKIM S4S5 การบังคับใช้นโยบายในภายหลังช่วยเพิ่มการป้องกันการปลอมแปลง

ควรอยู่ที่ p=none นานเท่าใด

จนกว่ารายงานจะแสดงว่าผู้ส่งที่ถูกต้องทุกรายสอดคล้องกันแล้ว Google แนะนำอย่างน้อยหนึ่งสัปดาห์ ส่วน RFC 9989 แนะนำราวหนึ่งเดือนก่อนบังคับใช้ S1S3

มีเรคคอร์ด DMARC สองรายการได้หรือไม่

ไม่ได้ ให้เผยแพร่เรคคอร์ด TXT ที่ _dmarc เพียงรายการเดียว หากการ lookup คืนเรคคอร์ด DMARC มากกว่าหนึ่งรายการ ผู้รับจะไม่ใช้ทั้งหมด จึงต้องรวมเป็นรายการเดียว S1

เรคคอร์ด DMARC ใส่ที่โดเมนหลักหรือซับโดเมน

ใส่ที่โฮสต์ _dmarc ของโดเมนในที่อยู่ From เรคคอร์ดบนโดเมนหลักยังครอบคลุมซับโดเมนที่ไม่มีเรคคอร์ดของตัวเองผ่านแท็ก p, sp หรือ np S1

แหล่งที่มา#

  1. [S1] RFC 9989: Domain-based Message Authentication, Reporting, and Conformance (DMARC), ตรวจสอบเมื่อ
  2. [S2] RFC 9990: DMARC aggregate reporting, ตรวจสอบเมื่อ
  3. [S3] Google Workspace Admin Help: Recommended DMARC rollout, ตรวจสอบเมื่อ
  4. [S4] Google Workspace Admin Help: Email sender guidelines, ตรวจสอบเมื่อ
  5. [S5] Yahoo Sender Hub: Sender best practices, ตรวจสอบเมื่อ