ในหน้านี้

อีเมลและโดเมน

ตรวจสอบ DMARC

API · Pro

ขอบเขต: ใช้ได้กับโดเมนจากทุกประเทศ เราหาระเบียนแบบเดียวกับเซิร์ฟเวอร์ผู้รับ: ที่ตัวโดเมนเอง และหากไม่มี จะหาที่โดเมนระดับบน (สูงสุดห้าระดับ) ที่อยู่สำหรับรับรายงานจะแสดงเฉพาะส่วนโดเมน

เปิดเครื่องมือ
ในหน้านี้

วัตถุประสงค์

ตรวจสอบระเบียน DMARC ของโดเมน: นโยบาย (none, quarantine หรือ reject) มาจากโดเมนระดับบนหรือไม่ สัดส่วนของอีเมลที่นโยบายมีผล ความสอดคล้อง และรายงานถูกส่งไปที่ใด

ข้อกำหนด

ทุกคนอ่านคู่มือเหล่านี้ได้โดยไม่ต้องมีบัญชี เครื่องมือบางอย่างต้องใช้ Pro ตามที่ระบุในแต่ละคู่มือ

DMARC บอกเซิร์ฟเวอร์ผู้รับว่าควรทำอย่างไรกับอีเมลที่อ้างว่ามาจากโดเมนหนึ่งแต่ไม่ผ่านการตรวจสอบ: ส่งให้ตามปกติ ส่งไปที่สแปม หรือปฏิเสธ พิมพ์โดเมน ที่อยู่อีเมล หรือลิงก์ แล้วเราจะแสดงนโยบาย DMARC ของโดเมนและความหมายให้คุณดู

วิธีใช้งาน

  1. พิมพ์โดเมนที่ต้องการตรวจสอบ หรือวางที่อยู่อีเมลหรือลิงก์: เราใช้เฉพาะส่วนโดเมนเท่านั้น

  2. กด “ตรวจสอบ DMARC” เราจะหาระเบียนของโดเมนที่ _dmarc และหากไม่มี จะหาที่โดเมนระดับบน เหมือนที่เซิร์ฟเวอร์ผู้รับทำ

  3. ดูที่นโยบาย: “reject” หรือ “quarantine” กับอีเมล 100% จะปกป้องโดเมนได้ ส่วน “none” แค่เฝ้าติดตามเท่านั้น

ตัวอย่างสมมติ

หมายเหตุ

ตัวอย่างสมมติ ไม่ใช่ผลการค้นหาจริง ห้ามโทรหรือเปิดลิงก์ในตัวอย่าง

ตัวอย่างสมมติ
v=DMARC1; p=reject; rua=mailto:[email protected]

ทำความเข้าใจผลลัพธ์

โดเมนนี้ไม่มี DMARC: โดเมนนี้ไม่ได้ขอให้เซิร์ฟเวอร์ผู้รับสกัดอีเมลที่แอบอ้างว่ามาจากโดเมน จึงถูกแอบอ้างได้ง่ายขึ้น

ระเบียน DMARC มีข้อผิดพลาด: เซิร์ฟเวอร์ผู้รับอาจเพิกเฉยต่อระเบียนนี้ ทำให้โดเมนเหมือนไม่มี DMARC สัญญาณด้านล่างจะบอกว่าผิดพลาดตรงไหน

DMARC แค่เฝ้าติดตามเท่านั้น: นโยบายคือ “none”: โดเมนได้รับรายงาน แต่อีเมลปลอมในนามโดเมนยังคงถูกส่งถึงผู้รับ

DMARC ป้องกันอีเมลเพียงบางส่วน: นโยบายใช้กับอีเมลที่ไม่ผ่านเพียงบางส่วน ส่วนที่เหลือจะถูกส่งถึงผู้รับเหมือนไม่มีนโยบาย

อีเมลปลอมจะเข้าสแปม: นโยบายคือ “quarantine”: เซิร์ฟเวอร์ผู้รับจะส่งอีเมลที่ไม่ผ่านการตรวจสอบไปที่โฟลเดอร์สแปม

อีเมลปลอมจะถูกปฏิเสธ: นโยบายคือ “reject”: เซิร์ฟเวอร์ผู้รับจะปฏิเสธอีเมลที่แอบอ้างว่ามาจากโดเมนนี้ ซึ่งเป็นการป้องกันที่แข็งแกร่งที่สุด

none: เฝ้าติดตามเท่านั้น

quarantine: ส่งไปที่สแปม

reject: ปฏิเสธไม่รับอีเมล

ข้อจำกัด

คำเตือน

เราอ่านระเบียน DNS สาธารณะของโดเมน หากคุณพิมพ์ที่อยู่อีเมลหรือลิงก์ จะมีเพียงส่วนโดเมนเท่านั้นที่ออกจากเบราว์เซอร์ของคุณ เราไม่บันทึกโดเมนที่คุณค้นหา

การแก้ไขปัญหา

ดูเหมือนว่านี่ไม่ใช่โดเมนสาธารณะ ลองพิมพ์แบบ example.com

DNS ไม่ตอบกลับภายในเวลาที่กำหนด ลองอีกครั้งในอีกไม่กี่วินาที

คุณตรวจสอบติดต่อกันหลายครั้งเกินไป รอสักหนึ่งนาทีแล้วลองอีกครั้ง

ใช้งานผ่าน API

คำเตือน

ต้องมีคีย์ API และเครดิต การเรียกที่สำเร็จแต่ละครั้งใช้ 1 เครดิต แม้ไม่มีข้อมูลก็ตาม บัญชี Pro ที่ใช้งานอยู่มี 20 เครดิตต่อเดือนปฏิทินตามเวลา UTC ใช้ร่วมกันทุกเส้นทาง API และถูกใช้ก่อน เครดิตรายเดือนที่ไม่ได้ใช้จะไม่ทบไปเดือนถัดไป เครดิตที่ซื้อในหน้าบัญชีของคุณใช้ได้โดยไม่ต้องมี Pro และไม่มีวันหมดอายุ

หมายเหตุ

ข้อผิดพลาดไม่ถูกคิดเครดิต: 401 invalid_api_key (ไม่มีคีย์หรือคีย์ไม่ถูกต้อง), 403 pro_required (ไม่มีเครดิต Pro และไม่มีเครดิตที่ซื้อไว้), 422 ข้อมูลนำเข้าไม่ถูกต้อง, 429 quota_exceeded (เครดิตหมด), rate_limit_exceeded หรือ ai_busy (AI ของ sms-check ใช้งานเต็มความสามารถ), 503 tool_warming (ข้อมูลยังเตรียมไม่เสร็จ) หรือ tool หรือผู้ให้บริการไม่พร้อมใช้งาน หลังได้รับ 429 หรือ 503 ให้ลองใหม่เมื่อครบจำนวนวินาทีในเฮดเดอร์ Retry-After

นโยบาย DMARC ของโดเมน (RFC 7489 พร้อมการไล่หาขึ้นไปยังโดเมนระดับบนตาม DMARCbis): ระเบียน ตำแหน่งที่พบ นโยบายที่มีผลจริง (none, quarantine หรือ reject) เปอร์เซ็นต์ ความสอดคล้องของ DKIM และ SPF และโดเมนที่รับรายงาน โดยไม่แสดงที่อยู่แบบเต็ม ไม่มีการจัดเก็บข้อมูลใด

ส่ง JSON body ไปยังเส้นทางของ tool นั้นโดยตรง หรือไปยัง POST /v2/tools โดยเพิ่มฟิลด์ tool ทั้งสองเส้นทางให้ผลลัพธ์เหมือนกัน

Endpoint
POST https://api.nocall.io/v2/dmarc-check
POST https://api.nocall.io/v2/tools  {"tool":"dmarc-check","domain":"example.com"}

พารามิเตอร์

ชื่อชนิดจำเป็นคำอธิบาย
domainstring (1–320)ใช่โดเมน หรือที่อยู่อีเมลหรือลิงก์ที่จะใช้ส่วนโดเมน ไม่เกิน 320 อักขระ เฉพาะชื่อสาธารณะเท่านั้น: ที่อยู่ IP ชื่อที่มีเลเบลเดียว และชื่อสำหรับใช้งานพิเศษ (.local, .internal, .test…) จะได้ผลเป็น 422
bash
REQUEST_ID="$(uuidgen)" && [ -n "$REQUEST_ID" ] &&
curl --request POST 'https://api.nocall.io/v2/dmarc-check' \
  --header "Authorization: Bearer $NOCALL_API_KEY" \
  --header 'Content-Type: application/json' \
  --header "Idempotency-Key: $REQUEST_ID" \
  --data '{"domain":"example.com"}'

ตัวอย่างการตอบกลับ (200)

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

JSON
{
  "data": {
    "tool": "dmarc-check",
    "result": {
      "domain": "example.com",
      "domainAscii": "example.com",
      "found": true,
      "record": "v=DMARC1; p=none; rua=mailto:[email protected]",
      "foundAt": "example.com",
      "inherited": false,
      "policy": "none",
      "subdomainPolicy": null,
      "effectivePolicy": "none",
      "percentage": 100,
      "alignment": {
        "dkim": "relaxed",
        "spf": "relaxed"
      },
      "reports": {
        "aggregate": [
          "example.com"
        ],
        "failure": []
      },
      "signals": [
        "policy_none"
      ],
      "valid": true,
      "attention": true
    }
  },
  "meta": {
    "requestId": "req_example",
    "unitsCharged": 1,
    "usage": {
      "periodStart": "2026-10-01",
      "unitLimit": 20,
      "unitsUsed": 3,
      "unitsRemaining": 17
    }
  }
}

ฟิลด์ผลลัพธ์ (data.result)

ฟิลด์ชนิดคำอธิบาย
domainstringโดเมนในรูปแบบ Unicode
domainAsciistringโดเมนเดียวกันในรูปแบบ ASCII (punycode) ตามที่ DNS เห็น
foundbooleanมีระเบียน DMARC ที่ใช้กับโดเมนหรือไม่ (ของโดเมนเองหรือของโดเมนระดับบน)
recordstring | nullระเบียน DMARC เป็น null เมื่อไม่มีหรือมีมากกว่าหนึ่งระเบียน
foundAtstring | nullโดเมนที่ระเบียน _dmarc มีผลบังคับใช้ (โดเมนนี้หรือโดเมนระดับบน) ในรูปแบบ Unicode
inheritedbooleanระเบียนเป็นของโดเมนระดับบนหรือไม่ (การไล่หาตามลำดับชั้นของ DMARCbis)
policy"none" | "quarantine" | "reject" | nullแท็ก p=: none, quarantine หรือ reject
subdomainPolicy"none" | "quarantine" | "reject" | nullแท็ก sp= หรือ null
effectivePolicy"none" | "quarantine" | "reject" | nullนโยบายที่ใช้กับโดเมนนี้: p หรือ sp เมื่อระเบียนสืบทอดมา
percentageinteger (0–100)pct: สัดส่วนของอีเมลที่ไม่ผ่านซึ่งนโยบายมีผลบังคับใช้ เป็น 100 เมื่อไม่ได้ระบุ
alignmentobjectความสอดคล้องของ DKIM และ SPF (adkim และ aspf): relaxed หรือ strict
reportsobjectโดเมนที่รับรายงานสรุป (rua) และรายงานความล้มเหลว (ruf) โดยไม่แสดงที่อยู่แบบเต็ม
signalsarray<"no_dmarc" | "multiple_records" | "syntax_error" | "policy_none" | "partial_percentage" | "no_aggregate_reports" | "inherited" | "weaker_subdomain_policy">no_dmarc, multiple_records, syntax_error, policy_none, partial_percentage, no_aggregate_reports, inherited หรือ weaker_subdomain_policy
validbooleanระเบียนแยกวิเคราะห์ได้และมีนโยบายหรือไม่
attentionbooleanผลลัพธ์ควรได้รับการตรวจดูหรือไม่: ไม่มี DMARC ระเบียนไม่ถูกต้อง นโยบาย none หรือเปอร์เซ็นต์ต่ำกว่า 100

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

DMARC คืออะไร

Domain-based Message Authentication, Reporting and Conformance: ระเบียน DNS ที่บอกเซิร์ฟเวอร์ผู้รับว่าควรทำอย่างไรกับอีเมลที่ใช้โดเมนในช่อง “จาก” แต่ไม่ผ่านทั้ง SPF และ DKIM นอกจากนี้ยังขอรายงาน เพื่อให้เจ้าของโดเมนเห็นว่าใครส่งอีเมลในนามโดเมนบ้าง

none, quarantine และ reject หมายความว่าอย่างไร

“none” แค่เฝ้าติดตาม: อีเมลยังถูกส่งถึงผู้รับตามปกติ และเจ้าของโดเมนได้รับรายงาน “quarantine” ส่งอีเมลที่ไม่ผ่านไปที่สแปม “reject” ปฏิเสธอีเมลนั้น โดยทั่วไปโดเมนจะเริ่มจาก “none” อ่านรายงาน แล้วค่อย ๆ ขยับขึ้นไปจนถึง “reject”

ถ้าโดเมนมี DMARC อีเมลทั้งหมดของโดเมนเป็นของจริงหรือไม่

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

ทำไมจึงบอกว่าระเบียนนี้สืบทอดมา

โดเมนย่อยที่ไม่มีระเบียนของตัวเอง (mail.example.com) จะใช้ระเบียนของโดเมนระดับบน (example.com) โดยใช้นโยบายของโดเมนย่อย (sp) หากมีการกำหนดไว้