Email Spam Tester

เครื่องมือฟรี

เครื่องมือตรวจสอบ DKIM Record

ป้อนโดเมนและ selector เพื่อดึง public key ของ DKIM จาก DNS แล้วตรวจว่าสามารถแยกวิเคราะห์ได้หรือไม่ มีความแข็งแรงเพียงใด และถูกเพิกถอนหรืออยู่ในโหมดทดสอบหรือไม่

หา selector ของ DKIM ได้จากที่ไหน

เปิดส่วนหัวของอีเมลที่คุณส่ง แล้วหาส่วนหัว DKIM-Signature โดย selector คือค่าของ s= และ d= คือโดเมน ค่าเริ่มต้นที่พบบ่อย: google สำหรับ Google Workspace, selector1 และ selector2 สำหรับ Microsoft 365, k1 สำหรับ Mailchimp, s1 และ s2 สำหรับ SendGrid

เครื่องมือนี้ตรวจสอบ public key ที่เผยแพร่ใน DNS แต่ไม่สามารถบอกได้ว่าอีเมลฉบับใดฉบับหนึ่งมีลายเซ็นหรือไม่ หรือลายเซ็นนั้นตรวจสอบผ่านหรือไม่ หากต้องการตรวจสอบ ให้ส่งอีเมลผ่านการทดสอบแบบเต็ม

DKIM ค้นหาคีย์อย่างไร

ลายเซ็น DKIM ในข้อความระบุโดเมน (d=) และ selector (s=) ผู้รับจะนำทั้งสองค่ามารวมเป็น selector._domainkey.domain อ่านระเบียน TXT ที่ตำแหน่งนั้น และใช้คีย์สาธารณะในแท็ก p= เพื่อตรวจสอบลายเซ็น โดเมนหนึ่งสามารถเผยแพร่ selector ได้ไม่จำกัดจำนวน ดังนั้นบริการส่งอีเมลแต่ละรายจึงใช้คีย์ของตนเองได้ และสามารถหมุนเวียนคีย์โดยไม่มีช่วงหยุดให้บริการ

เครื่องมือตรวจสอบต้องใช้ selector เพราะ DNS ไม่มีวิธีแสดงรายการ selector ทั้งหมดของโดเมน จึงไม่มีข้อมูลให้สแกน selector ต้องมาจากลายเซ็นของข้อความจริง

คีย์ DKIM แบบใดไม่ปลอดภัยหรือใช้งานไม่ได้

RFC 8301 ระบุว่าคีย์ RSA ต้องมีความยาวอย่างน้อย 1024 บิต และควรยาว 2048 บิต ตัวตรวจสอบอาจไม่สนใจคีย์ที่สั้นกว่านี้ และเครื่องมือของเราก็ทำเช่นนั้น ดังนั้นคีย์ 512 บิตจึงถือว่าไม่มีลายเซ็นเลย คีย์ Ed25519 (RFC 8463) ถูกออกแบบมาให้สั้นและมีความแข็งแกร่ง แต่ยังไม่ใช่ผู้รับทุกรายที่ตรวจสอบคีย์ชนิดนี้ ด้วยเหตุนี้จึงมักเผยแพร่ควบคู่กับคีย์ RSA แทนที่จะใช้แทนคีย์ RSA

เครื่องมือตรวจสอบจะถอดรหัสคีย์ทั้งหมด เพราะระเบียนที่ถูกแบ่งระหว่างสตริง TXT อย่างไม่ถูกต้อง หรือ base64 ที่ถอดรหัสไม่ได้ คือคีย์ที่ผู้รับไม่สามารถใช้ได้ ค่า p= ที่ว่างหมายถึงคีย์ถูกเพิกถอนโดยตั้งใจ t=y ระบุว่าโดเมนยังอยู่ระหว่างการทดสอบ และ RFC 6376 §3.6.1 กำหนดให้ตัวตรวจสอบปฏิบัติต่ออีเมลจากโดเมนนั้นเหมือนอีเมลที่ไม่มีลายเซ็นทุกประการ

ทดสอบอีเมลจริงแทน

เครื่องมือเหล่านี้อ่านข้อมูลจาก DNS ส่วนการทดสอบแบบเต็มจะอ่านตัวอีเมล ส่งอีเมล 1 ฉบับไปยังที่อยู่ชั่วคราว แล้วรับผล SPF, DKIM และ DMARC ตามที่ระบบรับอีเมลประเมิน พร้อมผล blacklist, เนื้อหา, คะแนนสแปมทั้ง 2 แบบ และแผนการแก้ไข เพิ่มการทดสอบตำแหน่งกล่องขาเข้าเพื่อดูว่าอีเมลไปอยู่ในโฟลเดอร์ใดของ Gmail, Outlook, Yahoo และผู้ให้บริการอื่นๆ

ทดสอบอีเมลของคุณดูตัวอย่างรายงาน

คำถาม

จะหา DKIM selector ได้อย่างไร และจะรู้ได้อย่างไรว่าเปิดใช้ DKIM แล้ว?

ส่งข้อความถึงตัวเอง แล้วเปิดส่วนหัวของสำเนาที่ได้รับ หากมีส่วนหัว DKIM-Signature แสดงว่าข้อความได้รับการลงลายเซ็น โดย selector คือค่า s= และโดเมนคือ d= หากไม่มีส่วนหัวนี้ แสดงว่าบริการที่คุณใช้ส่งไม่ได้ลงลายเซ็น แต่ละบริการส่งอีเมลจะลงลายเซ็นด้วย selector ของตัวเอง ดังนั้นจดหมายข่าวและข้อความจากกล่องจดหมายของคุณอาจใช้ selector ต่างกัน

คีย์ไม่มีปัญหา แต่ DKIM ไม่ผ่านพร้อมข้อความ "body hash did not verify" เพราะอะไร?

โดยปกติข้อความถูกแก้ไขหลังจากลงลายเซ็นแล้ว เช่น รายชื่ออีเมลเพิ่มส่วนท้าย หรือเกตเวย์รักษาความปลอดภัยเขียนลิงก์ใหม่ คีย์ยืนยันได้เฉพาะข้อมูลที่ถูกลงลายเซ็นเท่านั้น การทดสอบฉบับเต็มจะแสดงผลการตรวจสอบจริงสำหรับข้อความของคุณ

คู่มือฉบับเต็ม: DKIM fail

ความยาวคีย์ DKIM ควรเป็น 1024 หรือ 2048 บิต?

คีย์ 1024 บิตตรวจสอบผ่านได้ทุกที่ และ RFC 8301 อนุญาตให้ใช้ได้ แต่ยังเป็นขนาดขั้นต่ำ ดังนั้นควรเปลี่ยนเป็น 2048 บิตเมื่อหมุนเวียนคีย์ครั้งถัดไป

โดเมนหนึ่งมี DKIM record มากกว่าหนึ่งรายการได้หรือไม่?

ได้ โดยมีหนึ่งรายการต่อ selector และหลายโดเมนมีหลายรายการ เช่น หนึ่งรายการสำหรับผู้ให้บริการกล่องจดหมาย และอีกหนึ่งรายการสำหรับบริการจดหมายข่าวหรือบริการเรียกเก็บเงินแต่ละราย ให้ตรวจสอบทีละรายการ หากลบคีย์ออกจาก DNS แล้ว ทุกข้อความที่ยังลงลายเซ็นด้วยคีย์นั้นจะตรวจสอบไม่ผ่าน

ควรหมุนเวียนคีย์ DKIM บ่อยแค่ไหน?

M3AAWG แนะนำให้หมุนเวียนอย่างน้อยทุกหกเดือน และเปลี่ยนทันทีหากคีย์ส่วนตัวอาจรั่วไหล ให้เผยแพร่คีย์ใหม่ภายใต้ selector ใหม่ เปลี่ยนไปลงลายเซ็นด้วยคีย์นั้น และลบ record เก่าหลังจากอีเมลที่ลงลายเซ็นด้วยคีย์เก่าหยุดเข้ามาแล้วเท่านั้น ผู้ส่งจะลองส่งซ้ำเป็นเวลาสี่ถึงห้าวัน ดังนั้นควรรอประมาณหนึ่งสัปดาห์

ข้อผิดพลาดที่พบบ่อย

เครื่องมือฟรีอื่นๆ